SQL Server 比較日期大小的方法
在機(jī)房收費(fèi)系統(tǒng)中,有幾處這樣的情況:
起始日期和終止日期,相信聰明的你肯定可以想象出為什么要有兩個(gè)日期控件!是的,就是從一張表中查找出在這兩個(gè)日期范圍類的記錄!
有的人就說了,這還不簡單!
假如我們將第一個(gè)控件定義成Begin,第二個(gè)控件定義成Over!那么查詢語句不就是
"select * from recharge_info where date<'" & over.value & "' and date>'" & begin.value & "'"
這有什么難的!但是,事實(shí)并不是這么簡單的,如果查詢語句像這樣寫的話,你是肯定查找不出來的,那么我們到底該怎能在SQL Server中來比較兩個(gè)日期的大小呢?
這里我們就要借用CONVERT()函數(shù)了
CONVERT() 函數(shù)是把日期轉(zhuǎn)換為新數(shù)據(jù)類型的通用函數(shù)。
CONVERT() 函數(shù)可以用不同的格式顯示日期/時(shí)間數(shù)據(jù)。
語法:CONVERT(data_type(length),data_to_be_converted,style)
其中,data_type(length)規(guī)定目標(biāo)數(shù)據(jù)類型(帶有可選的長度)data_to_be_converted 含有需要轉(zhuǎn)換的值 style規(guī)定日期時(shí)間的輸出格式
其中,可使用的style值:
例如:
print convert(varchar(19),getdate())
print convert(varchar(10),getdate(),110)
print convert(varchar(11),getdate(),106)
print convert(varchar(24),getdate(),113)
結(jié)果如下:
如果你在SQL Server中用到根據(jù)日期查找記錄的話,如果你用date='2013-09-22' 這樣的查詢語句的時(shí)候,但是你仍然能查出你想要的結(jié)果的時(shí)候,請記?。哼@并不是你所想的表中記錄的日期等于現(xiàn)在的日期,而是表中日期這個(gè)字符串和'2013-09-22'這個(gè)字符串相等!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。