SQLSERVER查询时间条件式的写法

查询是SQL SERVER的核心功能,下面就为您详细介绍SQL SERVER查询时间条件式的写法,如果您对此方面感兴趣的话,不妨一看。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网络空间、营销软件、网站建设、延平网站维护、网站推广。

如下表:

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

下面开始做各种时间查询:注意:避免在WHERE条件式中对字段做运算,比如convert(char(10),tdate,120)

select tname from tt Where tdate='2007-06-11' --当时间段值为2007-06-11 00:00:00.000时,此条件式成立

--select tname 时间值没有 from tt Where tdate='2007-08-26' --时间段值为2007-08-26 12:04:50.000,此条件式不成立,时间值不同,这样找不到当天值
select tname 查找当天时间 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() --不行,因为SQL会默认当天起点是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

--select tname from tt Where left(tdate,10)='2007-06-11' --

--select tname from tt Where convert(char(10),tdate,120)='2007-06-11' --查找当天值,可以用,但效率低

--select tname aa from tt Where convert(char(10),tdate,120)='2007-08-26' --查找当天值,可以用,但如果条件式后面为‘2007-8-26’则不行.因为char(10)限定十位

--select tname 时间 from tt Where tdate Like '2007-08-26%' --不可用,找不到记录
--select tname 时间段 from tt Where tdate between '2007-06-11' and '2007-09-12'

查找时间段也是一样的,如:

select tname 查找2007年6月11号到8月26的记录 From tt Where tdate >='2007-06-11' and tdate<= '2007-08-26 23:59:59'

以上就是SQL SERVER查询时间条件式的写法介绍。

 

 

【编辑推荐】

SQL Server查询结果集中的常量

sql server查询字段详细信息

SQL Server FROM子句的语法

SQL Server字符串函数大全

SQL Server绑定连接

本文标题:SQLSERVER查询时间条件式的写法
网页链接:http://www.mswzjz.com/qtweb/news30/182430.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联