一、使用DATE_ADD和INTERVAL函數
MySQL中可以使用DATE_ADD函數和INTERVAL函數來進行日期的加減運算。當需要將日期減去一天時,可以使用以下代碼:
SELECT DATE_ADD('2020-07-28', INTERVAL -1 DAY);
這裡的’2020-07-28’是需要進行日期減法運算的日期,而’-1’表示需要減去的天數。運行以上代碼可以得到如下結果:
'2020-07-27'
這個方法簡單且實用,可以用於在SELECT語句中查詢某一日期往前(或往後)n天的數據。
二、使用DATE_SUB函數
除了使用DATE_ADD和INTERVAL函數進行日期運算之外,MySQL也提供了DATE_SUB函數來進行日期的減法運算:
SELECT DATE_SUB('2020-07-28', INTERVAL 1 DAY);
這裡的’2020-07-28’同樣是需要進行日期減法運算的日期,而’1’表示需要減去的天數。運行以上代碼可以得到如下結果:
'2020-07-27'
這個方法與第一種方法類似,都可以用於在SELECT語句中查詢某一日期往前(或往後)n天的數據。
三、使用DATE_ADD和DATE_SUB函數的變體
MySQL中除了提供了DATE_ADD和DATE_SUB函數之外,還提供了它們的變體:增加天數可以直接填寫負數,實現天數減少的效果。
SELECT DATE_ADD('2020-07-28', -1);
這裡的’-1’代表需要減去的天數,同樣可以得到以下結果:
'2020-07-27'
同樣地,也可以使用以下代碼:
SELECT '2020-07-28' - INTERVAL 1 DAY;
這裡的’INTERVAL 1 DAY’表示需要減去的時間,同樣可以得到以下結果:
'2020-07-27'
四、使用DATE_FORMAT函數
有時候,在MySQL中的日期並不是標準的日期格式,例如:’07/28/2020’、’20200728’等等。如果需要對這些格式進行日期減法運算, 使用STR_TO_DATE函數將這些字元串轉換成標準日期格式,然後再使用DATE_SUB或DATE_ADD函數進行相應的計算。例如:
SELECT DATE_SUB(STR_TO_DATE('07/28/2020','%m/%d/%Y'), INTERVAL 1 DAY);
這裡的’%m/%d/%Y’表示原始日期的格式,而’07/28/2020’是需要進行日期減法運算的日期,’-1’表示需要減去的天數。這個方法可以將原始字元串數據轉化為MySQL可以識別的格式,再進行日期相關的操作。
五、小結
本文介紹了五種在MySQL中將日期減去一天的方法:使用DATE_ADD和INTERVAL函數、使用DATE_SUB函數、使用DATE_ADD和DATE_SUB函數的變體、使用DATE_FORMAT函數。這些方法各有各的特點,可以根據實際需求選擇相應的方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/182996.html