sql中的datediff 函式

2021-05-26 17:53:57 字數 1693 閱讀 8513

返回 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 表示相差乙個年份,雖然實際上只相差一天而已。

SQL中DateDiff的用法

例 sql select from news where datediff n,date,getdate 5 datediff 返回跨兩個指定日期的日期和時間邊界數。語法datediff datepart startdate enddate 引數datepart 是規定了應在日期的哪一部分計算差額的...

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...