Округлення дат
У SQL Server немає очевидного способу округлити вниз до місяця, години або хвилини. Проте ви можете поєднати функції DATEADD() і DATEDIFF(), щоб виконати таке округлення.
Щоб округлити дату 1914-08-16 вниз до року, викличте DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Щоб округлити дату вниз до місяця, викличте DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Цей підхід працює і для кількох інших частин дати.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інструкції до вправи
- Використайте
DATEADD()іDATEDIFF()разом із частинами дати, щоб округлити наш час вниз до дня, години та хвилини.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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;