MySQL中字符串和日期類型之間的轉(zhuǎn)換是常見的操作,這通常要借助convert()函數(shù)來完成。
SELECT CONVERT('2018-07-01', DATE); -- 輸出:2018-07-01 SELECT CONVERT('2018-07-01 12:30:45', DATE); -- 輸出:2018-07-01
上面的例子中,我們將一個日期時間類型的字符串轉(zhuǎn)換為日期類型。注意到在沒有指明日期時間格式時,convert()函數(shù)會默認(rèn)匹配'YYYY-MM-DD'格式。
SELECT CONVERT('12/31/2018', DATE); -- 報錯:Truncated incorrect date value '12/31/2018' SELECT CONVERT('12/31/2018', DATE USING US); -- 輸出:2018-12-31
但是如果在字符串中使用了其他格式,就需要通過加上USING子句指明日期時間格式,否則會出現(xiàn)上面的錯誤。
SELECT CONVERT('2018-07-01', DATETIME); -- 輸出:2018-07-01 00:00:00 SELECT CONVERT('2018-07-01 12:30:45', DATETIME); -- 輸出:2018-07-01 12:30:45 SELECT CONVERT('2018-07-01 12:30:45 PM', DATETIME); -- 輸出:2018-07-01 12:30:45
同樣地,我們可以將字符串類型的時間數(shù)據(jù)轉(zhuǎn)換為日期時間類型,需要注意的是USING子句中的時間格式也要變化。