DATEDIFF()函數返回兩個日期之間的時間
DATEDIFF(datepart,startdate,enddate)
-- 獲取兩個日期之間的天數 SELECT DATEDIFF(day,'2021-01-01','2021-06-10') AS days; SELECT DATEDIFF(day,'2021-01-01 08:00:00','2021-06-10 09:00:00') AS days;
-- 獲取兩個日期之間的月數 SELECT DATEDIFF(month,'2021-01-01','2021-06-10') AS months; SELECT DATEDIFF(month,'2021-01-01 08:00:00','2021-06-10 09:00:00') AS months;
-- 獲取兩個日期之間的年數 SELECT DATEDIFF(year,'2021-01-01','2022-06-10') AS years; SELECT DATEDIFF(year,'2021-01-01 08:00:00','2022-06-10 09:00:00') AS years;
-- startdate位置0表示1900-01-01,-1表示1899-12-31 SELECT DATEDIFF(day, 0, '1900-01-01');-- 結果:0 SELECT DATEDIFF(day, 0, '1900-01-31');-- 結果:30 SELECT DATEDIFF(day, -1, '1900-01-01');-- 結果:1 SELECT DATEDIFF(day, -1, '1900-01-31');-- 結果:31