Mysql DATE_SUB()和使用算术运算符计算datetime之间有什么区别吗?

Mysql DATE_SUB()和使用算术运算符计算datetime之间有什么区别吗?,mysql,datetime,function,date,math,Mysql,Datetime,Function,Date,Math,在我看到这里有很多问题是使用DATE\u SUB()或DATE\u ADD()函数而不是算术运算符+或-,我想知道是否有什么不同: 引自: 日期算术也可以使用间隔和+或一起执行 -接线员: date + INTERVAL expr unit date - INTERVAL expr unit 所以基本上,这两个语句返回相同的结果: SELECT DATE_ADD(NOW(), INTERVAL 7 DAY); 及 现在我的问题是: 在MySQL中使用-操作符与使用-操作符有什么区别吗?(除了

在我看到这里有很多问题是使用
DATE\u SUB()
DATE\u ADD()
函数而不是算术运算符
+
-
,我想知道是否有什么不同:

引自:

日期算术也可以使用间隔和+或一起执行 -接线员:

date + INTERVAL expr unit
date - INTERVAL expr unit
所以基本上,这两个语句返回相同的结果:

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);

现在我的问题是:


在MySQL中使用
-
操作符与使用
-
操作符有什么区别吗?
(除了可读性?

对我来说,这是经验问题。在处理了多个操纵数据库的编辑器、库和工具之后,我学会了不要像信任DATE_SUB()那样信任“+”和“-”操作符。与使用+/-

相比,使用DATE_SUB()进行下一次软件升级时,意外损坏的可能性要小得多。DATE_ADD()的MySQL文档明确指出,可以使用+和-运算符进行日期算术

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

date + INTERVAL expr unit
date - INTERVAL expr unit
日期+间隔扩展单位

日期-间隔表达式单位

考虑到它得到了文件的认可,我认为任何区别都是风格上的。我个人认为+/-更容易阅读(毕竟,您不使用INT_ADD(…)或DOUBLE_ADD(…)来处理数值,那么为什么要使用日期呢?)。其他人可能有自己喜欢DATE_ADD和DATE_SUB的原因,这也没关系。挑点东西,坚持下去


杰米亚

你能澄清一下吗?在哪种情况下,编辑器会破坏sql语法?例如,在解析器被破坏的情况下,sql编辑器接受无效sql作为有效sql,或者指示有效sql无效并拒绝接受它。