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、我們在進行日期查詢的時候,發(fā)現數據庫的內容是yyyy-mm-dd00:00:00000后面會精確到毫秒,但是如果我們使用Calendar類來得到Date類型,也是沒有辦法精確到毫秒的,既我們最多只能得到yyyy-mm-dd00:00:00xxx毫秒數是當時系統的毫秒,那么查詢就會有誤差
5、時間的區(qū)間段查詢
例如我想查詢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、我們在進行日期查詢的時候,發(fā)現數據庫的內容是yyyy-mm-dd00:00:00000后面會精確到毫秒,但是如果我們使用Calendar類來得到Date類型,也是沒有辦法精確到毫秒的,既我們最多只能得到yyyy-mm-dd00:00:00xxx毫秒數是當時系統的毫秒,那么查詢就會有誤差
5、時間的區(qū)間段查詢
例如我想查詢2011-11-11到2012-12-12之間的信息,它默認查詢的時間是
2011-11-1100:00:00到2012-12-1200:00:00,也就是說2012-12-1223:59:59秒的時間是查詢不到的
解決辦法:將查詢的起始時間提前1秒,將終止時間多一天(少1秒)
相關文章
卸載SQL2008遇到問題(重啟計算機失敗、找不到SQL卸載程序)的解決辦法
這篇文章主要介紹了卸載SQL2008遇到的問題及解決辦法,問題有重新啟動計算機失敗、找不到SQL的卸載程序,如何解決,請仔細閱讀下文2016-07-07sql server 2008數據庫無法啟動的解決辦法(圖文教程)
sql server 2008數據庫無法啟動的解決辦法(圖文教程),需要的朋友可以參考一下2013-06-06SQL Server 2000向SQL Server 2008 R2推送數據圖文教程
這篇文章主要介紹了SQL Server 2000向SQL Server 2008 R2推送數據圖文教程,本文步驟詳細,配圖清晰,需要的朋友可以參考下2014-09-09SQL Server2008 Order by在union子句不可直接使用的原因詳解
這篇文章主要介紹了SQL Server2008 Order by在union子句不可直接使用的原因詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07win2008 r2安裝SQL SERVER 2008 R2 不能打開1433端口設置方法
這篇文章主要介紹了win2008 r2安裝SQL SERVER 2008 R2 不能打開1433端口設置方法,需要的朋友可以參考下2017-01-01SqlServer2008 數據庫同步的兩種方式(發(fā)布、訂閱使用方法)
這篇文章主要介紹了通過發(fā)布訂閱的方式實現數據庫之間的同步操作,需要的朋友可以參考下2014-08-08SQL Server使用一個語句塊批量插入多條記錄的三種方法
本文介紹了三種不同的方法向數據庫中一次插入多條記錄的方法,第三種方法是SQL Server2008中特有的,大家體驗一下吧。2016-05-05