如果这是一个重复的问题,但我无法在这里或其他任何地方找到任何答案,请原谅我。
我已经习惯了使用功能MYSQL的计算日期DATE_ADD,DATE_SUB等详见这里:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html。
但是我在另一个答案中看到,可以简单地使用诸如CURDATE() + INTERVAL 1 DAY.
以下测试产生了两行相同的结果。
SELECT
CURDATE() AS Today,
CURDATE() + INTERVAL 5 DAY AS 5_Days,
CURDATE() - INTERVAL 3 MONTH AS 3_Months_Ago,
CURDATE() + INTERVAL 1 YEAR AS 1_Year
UNION ALL SELECT
CURDATE() AS Today,
DATE_ADD(CURDATE(), INTERVAL 5 DAY) AS 5_Days,
DATE_SUB(CURDATE(), INTERVAL 3 MONTH) AS 3_Months_Ago,
DATE_ADD(CURDATE(), INTERVAL 1 YEAR) AS 1_Year
Run Code Online (Sandbox Code Playgroud)
我的问题是:这两种方法有什么区别吗?要么比另一个好?IMO,不使用这些DATE_ADD功能可以提高可读性和简单性,但我可能错了!