程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 在SQL中使用convert函數進行日期的查詢

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

編輯:關於MYSQL數據庫
曾經遇到這樣的情況,在數據庫的Meeting表中有PublishTime (DateTime,8)字段,用來存儲一個開會時間,在存入時由於要指明開會具體時間,故格式為yyyy-mm-dd hh:mm:ss,而我們查詢時是通過yyyy-mm-dd來進行的,即查詢某一天的所有會議信息,這樣如果通過select * from Meeting where PublishTime=@PublishTime (參數@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))=@PublishTime,這樣在查詢時數據庫得到參數後先自動將數據庫內的信息轉換為yyyy-mm-dd格式的10位字符,只要與參數相同即可返回查詢結果.而convert中的121是指將datetime類型轉換為char類型時獲得包括世紀位數的4位年份
以上是我在開發中遇到的小困難的總結,如果寫的有不正確的地方歡迎大家指教!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved