DATE_SUB()和使用算术运算符进行日期时间计算有什么区别吗?

Dan*_*oap 13 mysql math datetime date function

在我看到很多问题后,使用DATE_SUB()DATE_ADD()函数而不是算术运算符,+或者-我想知道是否有任何区别:

MySQL手册中引用:

日期算术也可以使用INTERVAL和+或 - 运算符一起执行:

date + INTERVAL expr unit
date - INTERVAL expr unit
Run Code Online (Sandbox Code Playgroud)

所以基本上,这两个语句返回相同的结果:

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
Run Code Online (Sandbox Code Playgroud)

SELECT NOW() + INTERVAL 7 DAY;
Run Code Online (Sandbox Code Playgroud)

现在我的问题:

在MySQL中DATE_SUB()使用-运算符和使用运算符有什么区别吗?(除了可读性?)

小智 6

DATE_ADD的MySQL文档(http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add)明确声明您可以使用+和 - 运营商.

日期算术也可以使用INTERVAL和+或 - 运算符一起执行:

date + INTERVAL expr单位

date - INTERVAL expr单位

鉴于它得到了文档的认可,我认为任何差异都是文体的.我个人认为+/-更容易阅读(毕竟,你不使用INT_ADD(...)或DOUBLE_ADD(...)来操纵数值,所以为什么日期?).其他人可能有他们自己喜欢DATE_ADD和DATE_SUB的理由,这也很好.只需挑选一些东西并坚持下去.

Jemiah