SQL server DateDiff 函數(shù)語法中的命名參數(shù)
此文章主要向大家描述的是SQL server DateDiff 函數(shù),以及對其語法中本身所含有的命名參數(shù)的介紹,如果你對這其心存好奇的話,以下的文章將會揭開它的神秘面紗。希望你在瀏覽完之后會有所收獲。
返回 Variant (Long) 的值,表示兩個指定日期間的時間間隔數(shù)目。
語法
- DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
SQL server DateDiff 函數(shù)語法中有下列命名參數(shù):
部分 描述
interval 必要。字符串表達(dá)式,表示用來計(jì)算date1 和 date2 的時間差的時間間隔
Date1□date2 必要;Variant (Date)。計(jì)算中要用到的兩個日期。
Firstdayofweek 可選。指定一個星期的***天的常數(shù)。如果未予指定,則以星期日為***天。
firstweekofyear 可選。指定一年的***周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為***周。
設(shè)置
interval 參數(shù)的設(shè)定值如下:
設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時
n 分鐘
s 秒
firstdayofweek 參數(shù)的設(shè)定值如下:
常數(shù) 值 描述
vbUseSystem 0 使用 NLS API 設(shè)置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
常數(shù) 值 描述
vbUseSystem 0 用 NLS API 設(shè)置。
vbFirstJan1 1 從包含 1 月 1 日的星期開始(缺省值)。
vbFirstFourDays 2 從***個其大半個星期在新的一年的一周開始。
vbFirstFullWeek 3 從***個無跨年度的星期開始。
說明
SQL server DateDiff 函數(shù)可用來決定兩個日期之間所指定的時間間隔數(shù)目。例如,可以使用 DateDiff 來計(jì)算兩個日期之間相隔幾日,或計(jì)算從今天起到年底還有多少個星期。
為了計(jì)算 date1 與 date2 相差的日數(shù),可以使用“一年的日數(shù)”(y) 或“日”(d)。當(dāng) interval 是“一周的日數(shù)”(w) 時,DateDiff 返回兩日期間的周數(shù)。如果 date1 是星期一,DateDiff 計(jì)算到 date2 為止的星期一的個數(shù)。這個數(shù)包含 date2 但不包含 date1。
不過,如果 interval 是“周”(ww),則DateDiff 函數(shù)返回兩日期間的“日歷周”數(shù)。由計(jì)算 date1 與 date2 之間星期日的個數(shù)而得。如果 date2 剛好是星期日,則 date2 也會被加進(jìn) DateDiff 的計(jì)數(shù)結(jié)果中;但不論 date1 是否為星期日,都不將它算進(jìn)去。
如果 date1 比 date2 來得晚,則SQL server DateDiff 函數(shù)的返回值為負(fù)數(shù)。
firstdayofweek 參數(shù)會影響使用時間間隔符號 “W” 或 “WW” 計(jì)算的結(jié)果。
如果 date1 或 date2 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date1 或 date2 用雙引號 (" ") 括起來,且年份略而不提,則在每次計(jì)算表達(dá)式 date1 或 date2 時,當(dāng)前年份都會插入到代碼之中。這樣就可以書寫適用于不同年份的程序代碼。
在計(jì)算 12 月 31 日和來年的 1 月 1 日的年份差時,DateDiff 返回 1 表示相差一個年份,雖然實(shí)際上只相差一天而已。
示例
此示例確定在 pubs 數(shù)據(jù)庫中標(biāo)題發(fā)布日期和當(dāng)前日期間的天數(shù)。
USE pubsGOSELECT DATEDIFF(day, pubdate, getdate()) AS no_of_daysFROM titlesGO
DATEDIFF函數(shù)在Access和MSSQL中的使用區(qū)別
ACCESS中用法:DATEDIFF('day', pubdate, Now())
MSSQL中用法:DATEDIFF(day, pubdate, getdate())
以上的相關(guān)內(nèi)容就是對SQL server DateDiff 函數(shù)的介紹,望你能有所收獲。
【編輯推薦】