在MySQL中使用CURRENT_DATE函數時,我遇到了奇怪的意外行爲。考慮以下內容:使用CURRENT_DATE減數值時MySQL奇怪的行爲
SELECT
DATE(CURRENT_DATE - 0) AS 'today',
DATE(CURRENT_DATE - 1) AS 'yesterday',
DATE(CURRENT_DATE - 2) AS '2 days ago',
DATE(CURRENT_DATE - 3) AS '3 days ago'
奇怪的是,這會返回兩個日期和兩個NULL值(在2015-04-01上執行時)。下面的代碼返回四個日期,符合市場預期:
SELECT
DATE_ADD(CURRENT_DATE, INTERVAL 0 DAY) AS 'today',
DATE_ADD(CURRENT_DATE, INTERVAL -1 DAY) AS 'yesterday',
DATE_ADD(CURRENT_DATE, INTERVAL -2 DAY) AS '2 days ago',
DATE_ADD(CURRENT_DATE, INTERVAL -3 DAY) AS '3 days ago'
任何人都知道爲什麼前集的代碼返回意外的結果,後者的回報預期的結果?
那麼,爲什麼你認爲你可以從日期減少整數? – zerkms 2015-04-02 01:57:08