程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> SqlServer2008 >> sql server查詢時間技巧分享

sql server查詢時間技巧分享

編輯:SqlServer2008
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秒)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved