在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