開始使用免費開始

日期取整

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;
編輯並執行程式碼