SQL中DateDiff的用法

2021-05-22 19:38:32 字數 1434 閱讀 1765

例:sql="select * from news where datediff(n,date,getdate())<=5"

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 值時,秒和毫秒總是 0。

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

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

enddate

是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字串的表示式。

返回型別

integer

注釋startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。

當結果超出整數值範圍,datediff 產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647 秒。對於秒,最大數是 68 年。

計算跨分鐘、秒和毫秒這些邊界的方法,使得 datediff 給出的結果在全部資料型別中是一致的。結果是帶正負號的整數值,其等於跨第乙個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。

示例此示例確定在 pubs 資料庫中標題發布日期和當前日期間的天數。

use pubs

goselect datediff(day, pubdate, getdate()) as no_of_days

from titlesgo

SQL中DateDiff的用法

datediff 返回跨兩個指定日期的日期和時間邊界數。語法datediff datepart startdate enddate 引數datepart 是規定了應在日期的哪一部分計算差額的引數。下表列出了 microsoft sql server 識別的日期部分和縮寫。日期部分 縮寫 year y...

詳細的SQL中datediff用法

datediff 函式 日期和時間 功能返回兩個日期之間的間隔。語法datediff date part,date expression 1,date expression 2 date part year quarter month week day hour minute second mill...

sql中的datediff 函式

返回 variant long 的值,表示兩個指定日期間的時間間隔數目。語法datediff interval,date1,date2 firstdayofweek firstweekofyear datediff 函式語法中有下列命名引數 部分 描述 interval 必要。字串表示式,表示用來計...