個人感覺用不等號比較日期非常不可取,應該用datediff函數,關于該函數的具體使用說明見sql server幫助。這個函數可以在sql語句中使用——如果直接用不等號就能比較日期,sql語法中干嗎還要定義這個函數呢?所以,使用datediff是比較日期的最科學的方法。
以下是我從sql server幫助中摘錄的部分,你也可以直接查看sql server幫助。
DATEDIFF
返回跨兩個指定日期的日期和時間邊界數。
語法
DATEDIFF ( datepart , startdate , enddate )
參數
datepart
是規定了應在日期的哪一部分計算差額的參數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。
日期部分 縮寫
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
是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。
因為 smalldatetime 只精確到分鐘,所以當用 smalldatetime 值時,秒和毫秒總是 0。
如果您只指定年份的最后兩位數字,則小于或等于"兩位數年份截止期"配置選項的值的最后兩位數字的數字所在世紀與截止年所在世紀相同。大于該選項的值的最后兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(默認),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。
有關時間值指定的更多信息,請參見時間格式。有關日期指定的更多信息,請參見 datetime 和 smalldatetime。
enddate
是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。
返回類型
integer
注釋
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。
當結果超出整數值范圍,DATEDIFF 產生錯誤。對于毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647 秒。對于秒,最大數是 68 年。
計算跨分鐘、秒和毫秒這些邊界的方法,使得 DATEDIFF 給出的結果在全部數據類型中是一致的。結果是帶正負號的整數值,其等于跨第一個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。
示例
此示例確定在 pubs 數據庫中標題發布日期和當前日期間的天數。
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO
?石家莊網站建設的優點:我們是專屬定制,制作符合您公司業務、風格的網站,這就做到給您制作的網站是網絡上獨一無二的網站,這樣更有利于搜索引擎的收錄。如果您喜歡網絡上某個風格的網站或者網站模板,我們是只仿制而不直接套用,我們會對其中的結構和樣式做增減優化,做…
?競價排名營銷是一種通過 競價購買搜索引擎中關鍵詞或關鍵短語的廣告方式。競價排名營銷分為兩種類型。 第一種,直接為真正的搜索引擎結果的排名付費,也就是說付的錢越多,網頁所獲得的排名名也就越高。 第二種則更類似于普通的廣告。這種競價排名營銷方式通過…
?網站優化對網站來說是非常重要的,直接決定和影響著網站所起到的作用,以及在各個地方當中的排名。在進行seo優化的過程中,我們必須要堅持一定的原則,真正的把這些事情做得更好,才可以確保最終的結果,這對于我們來說是非常重要的事。 SEO優化主要分為8小步: …