天天看點

SQL語句獲得時間差

在sql中計算時間差

DATEDIFF

傳回跨兩個指定日期的日期和時間邊界數。

文法

​DATEDIFF ( datepart , startdate , enddate ) ​

參數

datepart

是規定了應在日期的哪一部分計算差額的參數。下表列出了 Microsoft? SQL Server? 識别的日期部分和縮寫。

日期部分 縮寫
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

startdate

是計算的開始日期。startdate 是傳回 datetime 或 smalldatetime

因為 smalldatetime 隻精确到分鐘,是以當用 smalldatetime

如果您隻指定年份的最後兩位數字,則小于或等于"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大于該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(預設),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。

有關時間值指定的更多資訊,請參見​​時間格式​​​。有關日期指定的更多資訊,請參見 ​​datetime 和 smalldatetime​​。

enddate

是計算的終止日期。enddate 是傳回 datetime 或 smalldatetime

傳回類型

integer

注釋

startdate 是從 enddate 減去。如果 startdate 比 enddate

示例
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles