sql server查询时间技巧分享
更新时间:2012年11月30日 08:55:39 作者:
如何将时间转换为字符串的形式,本文将介绍sql server查询时间的一些实用技巧,需要的朋友可以参考下
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秒)
复制代码 代码如下:
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秒)
相关文章
使用Navicat Premium将SQLServer数据导出为sql格式
这篇文章主要介绍了使用Navicat Premium将SQLServer数据导出为sql格式,需要的朋友可以参考下2016-12-12
SQL Server 2008中的代码安全(八)透明加密(TDE)
SQL Server 2008引入透明数据加密(Transparent Data Encryption),即TDE,它允许你完全无需修改应用程序代码而对整个数据库加密。2011-06-06
SQL Server 2008 R2 为用户权限分配的操作步骤
这篇文章主要介绍了SQL Server 2008 R2 为用户权限分配的操作步骤,有时候我们不得不设置一些权限,例如禁止删除等,那么就可以参考下面的方法2017-10-10
SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)
这篇文章主要介绍了SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver),需要的朋友可以参考下2017-05-05
SQL Server 2008存储结构之GAM、SGAM介绍
谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中2012-08-08
Sql Server 2008R2升级Sql Server 2012图文教程
这篇文章主要分享了了Sql Server 2008R2升级Sql Server 2012图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10
win2008 r2安装SQL SERVER 2008 R2 不能打开1433端口设置方法
这篇文章主要介绍了win2008 r2安装SQL SERVER 2008 R2 不能打开1433端口设置方法,需要的朋友可以参考下2017-01-01


最新评论