曾經遇到這樣的情況,在數據庫的meeting表中有publishtime (datetime,8)字段,用來存儲一個開會時間,在存入時由于要指明開會具體時間,故格式為yyyy-mm-dd hh:mm:ss,而我們查詢時是通過yyyy-mm-dd來進行的,即查詢某一天的所有會議信息,這樣如果通過select * from meeting where [email protected] (參數@publishtime為yyyy-mm-dd格式)語句進行查詢將無法得到正確結果,比如我們要查詢2004年12月1日的會議信息,在輸入2004-12-01時就不能得到查詢結果,而這種查詢又不能要求輸入具體的hh:mm:ss.
    此時我們需要使用convert函數,它可以將一種數據類型的表達式轉換為另一種數據類型的表達式.此處我們先將數據庫內的datetime類型轉換為char類型,由于輸入的參數是10位的,所以寫成
 select * from meeting where convert(varchar(10),publishtime,121))[email protected],這樣在查詢時數據庫得到參數后先自動將數據庫內的信息轉換為yyyy-mm-dd格式的10位字符,只要與參數相同即可返回查詢結果.而convert中的121是指將datetime類型轉換為char類型時獲得包括世紀位數的4位年份
      以上是我在開發中遇到的小困難的總結,如果寫的有不正確的地方歡迎大家指教!
菜鳥學堂: