在SQL中使用convert函式進行日期的查詢

2021-03-31 08:56:57 字數 1001 閱讀 5010

曾經遇到這樣的情況

,在資料庫的

meeting

表中有publishtime (datetime,8)字段,

用來儲存乙個開會時間

,在存入時由於要指明開會具體時間

,故格式為

yyyy

-mm-dd hh:mm:ss,

而我們查詢時是通過

yyyy-mm-dd

來進行的

,即查詢某一天的所有會議資訊

,這樣如果通過

select * from meeting where publishtime=@publishtime (

引數@publishtime

為yyyy-mm-dd格式)

語句進行查詢將無法得到正確結果

,比如我們要查詢

2023年12

月1

日的會議資訊

,在輸入

2004-12-01

時就不能得到查詢結果

,而這種查詢又不能要求輸入具體的

hh:mm:ss.

此時我們需要使用

convert函式,

它可以將一種資料型別的表示式轉換為另一種資料型別的表示式

.此處我們先將資料庫內的

datetime

型別轉換為

char型別,

由於輸入的引數是

10位的

,所以寫成

select * from meeting where convert(varchar(10),publishtime,121))=@publishtime,

這樣在查詢時資料庫得到引數後先自動將資料庫內的資訊轉換為

yyyy-mm-dd

格式的10

位字元,

只要與引數相同即可返回查詢結果.而

convert

中的121

是指將datetime

型別轉換為

char

型別時獲得包括世紀位數的

4位年份

在SQL中使用convert函式進行日期的查詢

現在資料庫users表中有這個joindate欄位,datetime型別 有幾個資料比如2005 07 30 2005 07 20 然後查詢joindate欄位 select from users where joindate like 2005 可以正常顯示 可是當查詢 select from u...

在SQL中使用convert函式進行日期的查詢

曾經遇到這樣的情況,在的meeting表中有publishtime datetime,8 字段,用來儲存乙個開會時間,在存入時由於要指明開會具體時間,故格式為yyyy mm ddhh mm ss,而我們 查詢時是通過yyyy mm dd來進行的,即 查詢某一天的所有會議資訊,這樣如果通過select...

在SQL中使用convert函式進行日期的查詢

曾經遇到這樣的情況,在資料庫的meeting表中有publishtime datetime,8 字段,用來儲存乙個開會時間,在存入時由於要指明開會具體時間,故格式為yyyy mm dd hh mm ss,而我們查詢時是通過yyyy mm dd來進行的,即查詢某一天的所有會議資訊,這樣如果通過sele...