sql server查询时间技巧分享

2016-02-19 10:18 3 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

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秒)

来源:https://www.tulaoshi.com/n/20160219/1594159.html

延伸阅读
或许在应用程序代码中找到的最常见的错误就是这样的查询请求:它不是使用准备好的查询或程序,而是使用非参数特设的查询从数据库中请求数据。 不准备你的查询或者不使用存储过程会增加不必要的SQL Server计划缓存。什么是计划缓存呢?简单地说,它是SQL Server共享内存池的一部分,在这里,解析、编译和执行优化这些查询之后,查询执...
针对与mssql2005的安全,应当针对于2个方面来做,针对于主要的权限及端口。(要是有人说删除不安全的系统存储过程,先说好这个方式只能针对于2000,2005及2008均未发现可以删除的方法,有的话请回复)。 1.端口方面大家都知道mssql默认端口为1433,对于默认端口我一般都有一种想要封掉的冲动,主要是大家只要telnet一下就知道我的数据库是什么...
标签: SQLServer
     包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等  (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法: 到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manage...
首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的。 从表面上看,查询性能的调节是一件十分简单的事。从本质上讲,我们希望查询的运行速度能够尽可能地快,...
标签: SQLServer
  今天在用存储过程调用程序时, 发现SQL的时间或日期并不是跟计算机的时钟同步. 比如我把当前时间12:00改为13:00,如果马上用SQL Server的GetDate得到的时间仍为12:00. 但在经常约一分钟(也许只有半分钟),SQL时间才转到系统的正常时间上去.我的系统是Win2K + SQL Server7.0, 不知你们是否也有这个问题, 欢迎跟我交流测试.  

经验教程

974

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部