在MySQL中,我們可以通過字符串轉日期來對日期進行計算,計算結果也可以轉換回字符串。
當我們從數據庫中查詢到一個日期,但是該日期的格式并不是MySQL識別的日期格式(如YYYY-MM-DD),而是字符串形式(如Jun 1 2021),我們就需要通過STR_TO_DATE()函數將其轉換為MySQL可識別的日期格式。
SELECT STR_TO_DATE('Jun 1 2021','%M %d %Y');
然而,有時我們需要計算兩個日期之間的天數或日期間隔,我們可以將日期通過STR_TO_DATE()函數轉換為MySQL日期格式,然后進行日期計算。計算出來的結果可以通過DATE_FORMAT()函數再次轉換為字符串格式。
SELECT DATE_FORMAT(STR_TO_DATE('Jun 1 2021','%M %d %Y') - INTERVAL 30 DAY,'%Y.%m.%d');
上面的SQL語句表示將日期2021年6月1日減去30天,然后將計算結果轉換為“年.月.日”的字符串格式。
除了減去天數,我們還可以對年、月、日進行加減運算。
SELECT DATE_FORMAT(STR_TO_DATE('Jun 1 2021','%M %d %Y') + INTERVAL 2 YEAR,'%Y-%m-%d'); SELECT DATE_FORMAT(STR_TO_DATE('Jun 1 2021','%M %d %Y') + INTERVAL 1 MONTH,'%Y-%m-%d'); SELECT DATE_FORMAT(STR_TO_DATE('Jun 1 2021','%M %d %Y') + INTERVAL 15 DAY,'%Y-%m-%d');
上面的三個SQL語句分別表示將日期2021年6月1日加上2年、1個月、15天,然后將計算結果轉換為“年-月-日”的字符串格式。
通過字符串轉日期以及日期加減運算,我們可以方便地對日期進行計算。
上一篇css網頁設計個人網站