ComeçarComece de graça

Arredondando datas

O SQL Server não tem uma forma intuitiva de arredondar para baixo para o mês, hora ou minuto. Porém, você pode combinar as funções DATEADD() e DATEDIFF() para fazer esse arredondamento.

Para arredondar a data 1914-08-16 para baixo para o ano, chamaríamos DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).

Para arredondar a data para baixo para o mês, chamaríamos DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).

Isso também funciona para várias outras partes de data.

Este exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • Use DATEADD() e DATEDIFF() em conjunto com partes de data para arredondar nosso horário para o dia, a hora e o minuto.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

DECLARE
	@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';

-- Fill in the appropriate functions and date parts
SELECT
	DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
	___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
	___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;
Editar e executar o código