Zaokrąglanie dat
SQL Server nie oferuje intuicyjnego sposobu na zaokrąglenie daty w dół do miesiąca, godziny czy minuty. Możesz jednak połączyć funkcje DATEADD() i DATEDIFF(), aby wykonać takie zaokrąglenie.
Aby zaokrąglić datę 1914-08-16 w dół do roku, wywołaj DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Aby zaokrąglić datę w dół do miesiąca, wywołaj DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
To podejście działa również dla kilku innych części daty.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Instrukcje do ćwiczenia
- Użyj
DATEADD()iDATEDIFF()razem z odpowiednimi częściami daty, aby zaokrąglić czas w dół do dnia, godziny i minuty.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;