加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql server查询时间技巧分享

发布时间:2020-12-12 09:46:46 所属栏目:MsSql教程 来源:网络整理
导读:1、将时间转换为字符串的形式 : 代码如下:convert(varchar,字段名,120)--------yyyy-mm-ddhh:ss:mm0000 convert(char(10),120)------yyyy-mm-dd 2 、如果使用的是sql编辑器(微软自带的工具),查询日期不需要使用函数转换,例如 Sql代码 代码如下:select*fr

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

:
代码如下:convert(varchar,字段名,120)--------yyyy-mm-ddhh:ss:mm0000
convert(char(10),120)------yyyy-mm-dd

2

、如果使用的是sql编辑器(微软自带的工具),查询日期不需要使用函数转换,例如
Sql代码
代码如下:select*frominfowheredatatime>'2012-11-1100:00:00'anddatetime<'2012-12-1200:00:00'

3

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

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

4

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

5

、时间的区间段查询
例如我想查询2011-11-11到2012-12-12之间的信息,它默认查询的时间是
2011-11-1100:00:00到2012-12-1200:00:00,也就是说2012-12-1223:59:59秒的时间是查询不到的
解决办法:将查询的起始时间提前1秒,将终止时间多一天(少1秒)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读