SQL SERVER查詢時(shí)間條件式的寫法
查詢是SQL SERVER的核心功能,下面就為您詳細(xì)介紹SQL SERVER查詢時(shí)間條件式的寫法,如果您對(duì)此方面感興趣的話,不妨一看。
如下表:
tid tname tdate
1 張三 2009-10-29 19:04:50
2 李四 2006-11-12 11:04:50
3 王五 2007-6-11
4 陳六 2007-8-26 12:04:50
5 小二 2009-11-28
下面開始做各種時(shí)間查詢:注意:避免在WHERE條件式中對(duì)字段做運(yùn)算,比如convert(char(10),tdate,120)
select tname from tt Where tdate='2007-06-11' --當(dāng)時(shí)間段值為2007-06-11 00:00:00.000時(shí),此條件式成立
--select tname 時(shí)間值沒有 from tt Where tdate='2007-08-26' --時(shí)間段值為2007-08-26 12:04:50.000,此條件式不成立,時(shí)間值不同,這樣找不到當(dāng)天值
select tname 查找當(dāng)天時(shí)間 from tt Where tdate between '2007-08-26 00:00:00' and '2007-08-26 23:59:59'
--select tname 今天的值 from tt Where tdate =getdate() --不行,因?yàn)镾QL會(huì)默認(rèn)當(dāng)天起點(diǎn)是00:00:00開始,
select tname 今天的值方式一 from tt Where tdate between convert(char(10),getdate(),120) and convert(char(10),getdate(),120)+' 23:59:59'
select tname 今天的值方式二 from tt Where tdate >= convert(char(10),getdate(),120) and tdate<convert(char(10),getdate()+1,120)
--select tname from tt Where left(tdate,10)='2007-06-11' --
--select tname from tt Where convert(char(10),tdate,120)='2007-06-11' --查找當(dāng)天值,可以用,但效率低
--select tname aa from tt Where convert(char(10),tdate,120)='2007-08-26' --查找當(dāng)天值,可以用,但如果條件式后面為‘2007-8-26’則不行.因?yàn)閏har(10)限定十位
--select tname 時(shí)間 from tt Where tdate Like '2007-08-26%' --不可用,找不到記錄
--select tname 時(shí)間段 from tt Where tdate between '2007-06-11' and '2007-09-12'
查找時(shí)間段也是一樣的,如:
select tname 查找2007年6月11號(hào)到8月26的記錄 From tt Where tdate >='2007-06-11' and tdate<= '2007-08-26 23:59:59'
以上就是SQL SERVER查詢時(shí)間條件式的寫法介紹。
【編輯推薦】