工作遇到需要針對時間進行處理。
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 縮寫 |
year | y、yy、yyyy |
month | mm, m |
day | dd, d |
hour | hh |
minute | mi, n |
second | ss, 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
嘗試以自己的角度來整理並紀錄,也許會對一些人有幫助。
文章有錯、參考聯結有漏或是連結失效..等,還請幫忙告知,謝謝。
另外參考資料中有很多更棒的文章,建議多看看。