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