[SQL][MS-SQL] 取得兩筆日期之間的差距數

工作遇到需要針對時間進行處理。

DATEDIFF ( datepart , startdate , enddate )
根據datepart (形式,例:日、秒..)回傳startdate(起始日期)和enddate (結束日期)之間差距數(int)。


SQL範例:

SELECT DATEDIFF(day, '2036-03-01', '2036-03-03')
-- 2(天)

SELECT DATEDIFF(dd, '2036-04-01', '2036-03-31')
-- -1(天)

SELECT DATEDIFF(day, 0, getdate())
-- 當下時間:2022-07-19 15:18:41.970
-- 時間間隔:44759(天)

常用datepart (形式),完整清單請看官方文件:
 

datepart 名稱datepart 縮寫
yeary、yy、yyyy
monthmm, m
daydd, d
hourhh
minutemi, n
secondss, s

參考資料:
DATEDIFF (Transact-SQL)
[SQL] Datediff 使用方法與範例

相關文章:
[SQL][MS-SQL] 對日期進行加減運算時間語法

-- 組合運用,取得兩天前的日期
DATEADD(dd, DATEDIFF(dd, 0, getdate())-2, 0)
--當下時間:2022-07-19 15:18:41.970
--減兩天時間:2022-07-17 00:00:00.000

嘗試以自己的角度來整理並紀錄,也許會對一些人有幫助。

文章有錯、參考聯結有漏或是連結失效..等,還請幫忙告知,謝謝。
另外參考資料中有很多更棒的文章,建議多看看。