曾經(jīng)遇到這樣的情況,在數(shù)據(jù)庫的Meeting表中有PublishTime (DateTime,8)字段,用來存儲一個開會時間,在存入時由于要指明開會具體時間,故格式為yyyy-mm-dd hh:mm:ss,而我們查詢時是通過yyyy-mm-dd來進行的,即查詢某一天的所有會議信息,這樣如果通過select * from Meeting where PublishTime=@PublishTime (參數(shù)@PublishTime為yyyy-mm-dd格式)語句進行查詢將無法得到正確結(jié)果,比如我們要查詢2004年12月1日的會議信息,在輸入2004-12-01時就不能得到查詢結(jié)果,而這種查詢又不能要求輸入具體的hh:mm:ss.
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,這樣在查詢時數(shù)據(jù)庫得到參數(shù)后先自動將數(shù)據(jù)庫內(nèi)的信息轉(zhuǎn)換為yyyy-mm-dd格式的10位字符,只要與參數(shù)相同即可返回查詢結(jié)果.而convert中的121是指將datetime類型轉(zhuǎn)換為char類型時獲得包括世紀位數(shù)的4位年份
您可能感興趣的文章:
SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務中的使用介紹