ПочатиПочніть безкоштовно

Округлення дат

У 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;
Редагувати та запускати код