sql語句中 DateDiff函數(shù)的使用方法

2022-06-04    分類: 網(wǎng)站建設(shè)

sql語句中 DateDiff函數(shù)的使用方法

DATEDIFF 返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。

DateDiff函數(shù) 是一個(gè)非常有用的函數(shù),它可以為一些網(wǎng)頁做一些特殊的效果.我就曾用到它和一張'new'字樣的圖片 來區(qū)別網(wǎng)頁顯示的信息是否為最近的信息.例如:提示最近的通知,最近的新聞等等.

一、 DateDiff函數(shù) 語法

DATEDIFF ( datepart , startdate , enddate )

二、DateDiff函數(shù) 參數(shù)
datepart

是規(guī)定了應(yīng)在日期的哪一部分計(jì)算差額的參數(shù)。下表列出了 Microsoft? SQL Server? 識(shí)別的日期部分和縮寫。

日期部分 縮寫
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

是計(jì)算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達(dá)式。

因?yàn)?smalldatetime 只精確到分鐘,所以當(dāng)用 smalldatetime 值時(shí),秒和毫秒總是 0。

如果您只指定年份的最后兩位數(shù)字,則小于或等于'兩位數(shù)年份截止期'配置選項(xiàng)的值的最后兩位數(shù)字的數(shù)字所在世紀(jì)與截止年所在世紀(jì)相同。大于該選項(xiàng)的值的最后兩位數(shù)字的數(shù)字所在世紀(jì)為截止年所在世紀(jì)的前一個(gè)世紀(jì)。例如,如果 two digit year cutoff 為 2049(默認(rèn)),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請(qǐng)使用四位數(shù)的年份。

enddate

是計(jì)算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達(dá)式。

三、DateDiff函數(shù) 返回類型

integer
四、DateDiff函數(shù) 用法
此函數(shù)計(jì)算兩個(gè)指定日期之間日期部分的數(shù)目。結(jié)果為日期部分中等于(date2 - date1)的有符號(hào)的整數(shù)值。

當(dāng)結(jié)果不是日期部分的偶數(shù)倍時(shí),DATEDIFF 將被截?cái)喽皇潜簧崛搿?/p>

當(dāng)使用 day 作為日期部分時(shí),DATEDIFF 返回兩個(gè)指定的時(shí)間之間(包括第二個(gè)日期但不包括第一個(gè)日期)的午夜數(shù)。

當(dāng)使用 month 作為日期部分時(shí),DATEDIFF 返回兩個(gè)日期之間(包括第二個(gè)日期但不包括第一個(gè)日期)出現(xiàn)的月的第一天的數(shù)目。

當(dāng)使用 week 作為日期部分時(shí),DATEDIFF 返回兩個(gè)日期(包括第二個(gè)日期但不包括第一個(gè)日期)之間星期日的數(shù)目。

對(duì)于更小的時(shí)間單位存在溢出值:

milliseconds 24 天

seconds 68 年

minutes 4083 年

others 沒有溢出限制


如果超出這些限制,此函數(shù)將返回溢出錯(cuò)誤。


五、DateDiff函數(shù) 標(biāo)準(zhǔn)和兼容性
SQL/92 Transact-SQL 擴(kuò)展。

SQL/99 Transact-SQL 擴(kuò)展。

Sybase 與 Adaptive Server Enterprise 兼容。

六、DateDiff函數(shù) 示例

下面的語句返回 1 :

select datediff ( hour, '' 4 :00am '' , '' 5 :50am '' )
下面的語句返回 102 :

select datediff ( month , '' 1987 / 05 / 02 '' , '' 1995 / 11 / 15 '' )
下面的語句返回 0 :

select datediff ( day , '' 00 : 00 '' , '' 23 : 59 '' )
下面的語句返回 4 :

select datediff ( day , '' 1999 / 07 / 19 00 : 00 '' , '' 1999 / 07 / 23 23 : 59 '' )
下面的語句返回 0 :

select datediff ( month , '' 1999 / 07 / 19 '' , '' 1999 / 07 / 23 '' )
下面的語句返回 1 :

select datediff ( month , '' 1999 / 07 / 19 '' , '' 1999 / 08 / 23 '' )

分享名稱:sql語句中 DateDiff函數(shù)的使用方法
文章出自:http://www.bm7419.com/news30/163180.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化