Redondear fechas
SQL Server no tiene una forma intuitiva de redondear hacia abajo al mes, la hora o el minuto. Sin embargo, puedes combinar las funciones DATEADD() y DATEDIFF() para hacer este redondeo.
Para redondear hacia abajo al año la fecha 1914-08-16, llamaríamos a DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Para redondear hacia abajo al mes, llamaríamos a DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Esto también funciona con otras partes de fecha.
Este ejercicio forma parte del curso
Análisis de series temporales en SQL Server
Instrucciones del ejercicio
- Usa
DATEADD()yDATEDIFF()junto con partes de fecha para redondear nuestra hora hacia abajo al día, la hora y el minuto.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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;