主營(yíng)業(yè)務(wù):網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序制作 石家莊網(wǎng)站制作網(wǎng)站建設(shè)有限公司歡迎您!
石家莊閃云網(wǎng)絡(luò)科技有限公司
客服熱線(xiàn)15383239821
如何讓自己的網(wǎng)站更有質(zhì)量?

sql語(yǔ)句中怎樣比較兩個(gè)日期的大小

發(fā)布時(shí)間:2010/9/7 16:07:18

個(gè)人感覺(jué)用不等號(hào)比較日期非常不可取,應(yīng)該用datediff函數(shù),關(guān)于該函數(shù)的具體使用說(shuō)明見(jiàn)sql server幫助。這個(gè)函數(shù)可以在sql語(yǔ)句中使用——如果直接用不等號(hào)就能比較日期,sql語(yǔ)法中干嗎還要定義這個(gè)函數(shù)呢?所以,使用datediff是比較日期的最科學(xué)的方法。


以下是我從sql server幫助中摘錄的部分,你也可以直接查看sql server幫助。


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

語(yǔ)法
DATEDIFF ( datepart , startdate , enddate )

參數(shù)
datepart

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

日期部分 縮寫(xiě)
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ì)算的開(kāi)始日期。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ù)的年份。

有關(guān)時(shí)間值指定的更多信息,請(qǐng)參見(jiàn)時(shí)間格式。有關(guān)日期指定的更多信息,請(qǐng)參見(jiàn) datetime 和 smalldatetime。

enddate

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

返回類(lèi)型
integer

注釋
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負(fù)值。

當(dāng)結(jié)果超出整數(shù)值范圍,DATEDIFF 產(chǎn)生錯(cuò)誤。對(duì)于毫秒,最大數(shù)是 24 天 20 小時(shí) 31 分鐘零 23.647 秒。對(duì)于秒,最大數(shù)是 68 年。

計(jì)算跨分鐘、秒和毫秒這些邊界的方法,使得 DATEDIFF 給出的結(jié)果在全部數(shù)據(jù)類(lèi)型中是一致的。結(jié)果是帶正負(fù)號(hào)的整數(shù)值,其等于跨第一個(gè)和第二個(gè)日期間的 datepart 邊界數(shù)。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數(shù)是 1。

示例
此示例確定在 pubs 數(shù)據(jù)庫(kù)中標(biāo)題發(fā)布日期和當(dāng)前日期間的天數(shù)。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

相關(guān)新聞推薦

在線(xiàn)客服 : 服務(wù)熱線(xiàn):15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號(hào):冀ICP備2022000585號(hào)-4