sqlserver2008时间查询

sqlserver2008时间查询,第1张

概述1、将时间转换为字符串的形式:   convert(varchar,字段名,120)-------- yyyy-mm-dd hh:ss:mm 0000   convert(char(10),字段名,120) ------ yyyy-mm-dd   2、如果使用的是sql编辑器(微软自带的工具),查询日期不需要使用函数转换,例如   select * from info where datatime

1、将时间转换为字符串的形式:

 

convert(varchar,字段名,120)-------- yyyy-mm-dd hh:ss:mm 0000

 

convert(char(10),120) ------ yyyy-mm-dd

 

2、如果使用的是sql编辑器(微软自带的工具),查询日期不需要使用函数转换,例如

 

select * from info where datatime >'2012-11-11 00:00:00' and datetime <'2012-12-12 00:00:00'

 

3、如果是使用hibernate来查询数据(使用HQL)就不能使用上面这种方式了,因为查询的是对象,那么参数传递的时候要保证传递的参数是Date类型,否则会提示“转换错误”

 

from person as p where p.date=:date

传递的参数:date一定要是Date类型

 

4、我们在进行日期查询的时候,发现数据库的内容是 yyyy-mm-dd 00:00:00 000后面会精确到毫秒,但是如果我们使用Calendar类来得到Date类型,也是没有办法精确到毫秒的,既我们最多只能得到 yyyy-mm-dd 00:00:00 xxx毫秒数是当时系统的毫秒,那么查询就会有误差

 

5、时间的区间段查询

例如我想查询2011-11-11 到2012-12-12之间的信息,它默认查询的时间是

 2011-11-11 00:00:00 到 2012-12-12 00:00:00,也就是说2012-12-12 23:59:59 秒的时间是查询不到的

解决办法:将查询的起始时间提前1秒,将终止时间多一天(少1秒)

2011-11-10 23:59:59 到 2012-12-12 23:59:59

总结

以上是内存溢出为你收集整理的sqlserver2008时间查询全部内容,希望文章能够帮你解决sqlserver2008时间查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1172302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存