在機(jī)房收費(fèi)系統(tǒng)中,有幾處這樣的情況:
起始日期和終止日期,相信聰明的你肯定可以想象出為什么要有兩個(gè)日期控件!是的,就是從一張表中查找出在這兩個(gè)日期范圍類的記錄!
有的人就說(shuō)了,這還不簡(jiǎn)單!
假如我們將第一個(gè)控件定義成Begin,第二個(gè)控件定義成Over!那么查詢語(yǔ)句不就是
"select * from recharge_info where date<'" & over.value & "' and date>'" & begin.value & "'"
這有什么難的!但是,事實(shí)并不是這么簡(jiǎn)單的,如果查詢語(yǔ)句像這樣寫的話,你是肯定查找不出來(lái)的,那么我們到底該怎能在SQL Server中來(lái)比較兩個(gè)日期的大小呢?
這里我們就要借用CONVERT()函數(shù)了
CONVERT() 函數(shù)是把日期轉(zhuǎn)換為新數(shù)據(jù)類型的通用函數(shù)。
CONVERT() 函數(shù)可以用不同的格式顯示日期/時(shí)間數(shù)據(jù)。
語(yǔ)法:CONVERT(data_type(length),data_to_be_converted,style)
其中,data_type(length)規(guī)定目標(biāo)數(shù)據(jù)類型(帶有可選的長(zhǎng)度)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' 這樣的查詢語(yǔ)句的時(shí)候,但是你仍然能查出你想要的結(jié)果的時(shí)候,請(qǐng)記?。哼@并不是你所想的表中記錄的日期等于現(xiàn)在的日期,而是表中日期這個(gè)字符串和'2013-09-22'這個(gè)字符串相等!