MySQL中的DATEFORMATE函數(shù)可以根據(jù)指定的格式將日期類型數(shù)據(jù)進(jìn)行格式化輸出。
SELECT DATE_FORMAT('2022-12-01', '%m-%d-%Y'); //輸出12-01-2022
上面的代碼中,將日期2022-12-01按照%m-%d-%Y的格式輸出。
常用的DATEFORMATE格式如下:
- %Y:4位數(shù)的年份
- %y:2位數(shù)的年份
- %m:2位數(shù)的月份
- %d:2位數(shù)的日期
- %H:24小時制的小時
- %h:12小時制的小時
- %i:2位數(shù)的分鐘
- %s:2位數(shù)的秒數(shù)
- %p:AM或PM
SELECT DATE_FORMAT('2022-12-01 13:26:59', '%Y-%m-%d %H:%i:%s %p'); //輸出2022-12-01 13:26:59 PM
上面的代碼中,將日期2022-12-01 13:26:59按照%Y-%m-%d %H:%i:%s %p的格式輸出。輸出中的PM是根據(jù)小時數(shù)自動判斷的。
使用DATEFORMATE函數(shù)的時候需要注意的是,日期類型數(shù)據(jù)必須是字符串類型的,否則會報錯。
SELECT DATE_FORMAT(20221201, '%Y-%m-%d'); //報錯,無效的日期
如果需要將日期類型數(shù)據(jù)轉(zhuǎn)換成字符串類型,可以使用DATE_SUB函數(shù)。
SELECT DATE_FORMAT(DATE_SUB('2022-12-01', INTERVAL 1 MONTH), '%Y-%m-%d'); //輸出2022-11-01
DATE_SUB函數(shù)可以將指定日期減去指定時間間隔后得到新的日期。