曾經遇到這樣的情況
,在資料庫的
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...