EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Usa DATEADD() y DATEDIFF() 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;
Editar y ejecutar código