SQL語句中DateDiff函式說明

2021-05-22 12:28:16 字數 2267 閱讀 7825

函式簡介:

返回 variant (long) 的值,表示兩個指定日期間的時間間隔數目。

函式語法:

datediff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

datediff 函式語法中有下列命名引數:

interval 必要。字串表示式,表示用來計算date1 和 date2 的時間差的時間間隔

date1□date2 必要;variant (date)。計算中要用到的兩個日期。

firstdayofweek 可選。指定乙個星期的第一天的常數。如果未予指定,則以星期日為第一天。

firstweekofyear 可選。指定一年的第一周的常數。如果未予指定,則以包含 1 月 1 日的星期為第一周。

引數設定:

interval 引數的設定值如下:

yyyy :年

q :季

m: 月

y :一年的日數

d :日

w :一周的日數

ww :周

h: 時

n :分鐘

s :秒

firstdayofweek 引數的設定值如下:

vbusesystem 0 使用 nls api 設定。

vbsunday 1 星期日(預設值)

vbmonday 2 星期一

vbtuesday 3 星期二

vbwednesday 4 星期三

vbthursday 5 星期四

vbfriday 6 星期五

vbsaturday 7 星期六

vbusesystem 0 用 nls api 設定。

vbfirstjan1 1 從包含 1 月 1 日的星期開始(預設值)。

vbfirstfourdays 2 從第乙個其大半個星期在新的一年的一周開始。

vbfirstfullweek 3 從第乙個無跨年度的星期開始。

函式說明:  

datediff 函式可用來決定兩個日期之間所指定的時間間隔數目。例如,可以使用 datediff 來計算兩個日期之間相隔幾日,或計算從今天起到年底還有多少個星期。

為了計算 date1 與 date2 相差的日數,可以使用「一年的日數」(y) 或「日」(d)。當 interval 是「一周的日數」(w) 時,datediff 返回兩日期間的週數。如果 date1 是星期一,datediff 計算到 date2 為止的星期一的個數。這個數包含 date2 但不包含 date1。不過,如果 interval 是「周」(ww),則 datediff 函式返回兩日期間的「日曆周」數。由計算 date1 與 date2 之間星期日的個數而得。如果 date2 剛好是星期日,則 date2 也會被加進 datediff 的計數結果中;但不論 date1 是否為星期日,都不將它算進去。

如果 date1 比 date2 來得晚,則 datediff 函式的返回值為負數。

firstdayofweek 引數會影響使用時間間隔符號 「w」 或 「ww」 計算的結果。

如果 date1 或 date2 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date1 或 date2 用雙引號 (" ") 括起來,且年份略而不提,則在每次計算表示式 date1 或 date2 時,當前年份都會插入到**之中。這樣就可以書寫適用於不同年份的程式**。

在計算 12 月 31 日和來年的 1 月 1 日的年份差時,datediff 返回 1 表示相差乙個年份,雖然實際上只相差一天而已。

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

use pubsgoselect datediff(day, pubdate, getdate()) as no_of_daysfrom titlesgo

datediff函式在access和mssql中的使用區別

access中用法:datediff('day', pubdate, now())

mssql中用法:datediff(day, pubdate, getdate())

sybase中用法:datediff(dd, pubdate, getdate())

刪除3天以前的資料(access 儲存時間為datetime型字段)

delete from ws where 儲存時間查詢最近兩天的資料(access)

select * from ws where 儲存時間》dateadd('d', -1, date())"

SQL語句中DATEDIFF 函式的用法

datediff datepart startdate enddate 釋義 計算時間差 datepare值 year quarter month week day hour minute second millisecond startdate 開始日期 enddate 結束日期 getdate ...

sql查詢語句中

sql查詢語句中select t.status,t.rowid from person t where t.status 2,此處查詢的是status不等於2的記錄,並過濾掉status為null的記錄。注意 此處不管status是integer型別還是long型別,都會過濾掉status為null...

SQL語句中 ( ) 含義

表示外連線。條件關聯時,一般只列出表中滿足連線條件的資料。如果條件的一邊出現 則可列出該表中在條件另一側的資料為空的那些記錄。比如兩個表 員工表和工資表。員工表中有總經理 a b c四條記錄,工資表中只有a b c三人的記錄。如果寫如下語句 select 姓名,工資 from 員工表,工資表 whe...