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

來源:互聯網
上載者:User
函數
    曾經遇到這樣的情況,在資料庫的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位年份
      以上是我在開發中遇到的小困難的總結,如果寫的有不正確的地方歡迎大家指教!


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。