在SQLserver中如何獲得兩個日期相減的天數

2021-09-01 11:14:08 字數 1370 閱讀 4803

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 titles

go

在SQLSERVER中獲得不包含時間部分的日期

select getdate 用datename 就可以獲得到相應的年 月 日,再把它們連線起來就好了 select datename year,getdate datename month,getdate datename day,getdate 另外,datename 還可以獲得到小時 時間 秒...

Sql Server中如何準確獲得標識值

sql server有三種不同的函式可以用來獲得含有標識列的表裡最後生成的標識值 identity函式可以返回所有範圍內當前連線插入最後所生成的標識值 包括任何呼叫的儲存過程和觸發器 這個函式不止可以適用於表。函式返回的值是最後表插入行生成的標識值。最後是ident current函式,它可以用於所...

php中如何輸出時間 在php中如何獲得未來時間?

php獲取昨天日期 date y m d strtotime 1 day php獲取明天日期 date y m d strtotime 1 day php獲取一周後日期 date y m d strtotime 1 week php獲取一周零兩天四小時兩秒後時間 date y m d g h s s...