代码之家  ›  专栏  ›  技术社区  ›  Dan Soap

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

  •  11
  • Dan Soap  · 技术社区  · 15 年前

    在我看到很多问题之后 DATE_SUB() DATE_ADD() 函数而不是算术运算符 + - ,我想知道是否有什么不同:

    引自 MySQL-manual :

    日期运算也可以使用interval和+或 -运算符:

    date + INTERVAL expr unit
    date - INTERVAL expr unit
    

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

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

    SELECT NOW() + INTERVAL 7 DAY;
    

    现在我的问题是:

    两者有什么区别吗 DATEY子() 并使用 - MySQL中的运算符? (除了可读性之外?)

    2 回复  |  直到 15 年前
        1
  •  5
  •   Jemiah    15 年前

    用于日期添加的mysql文档( http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add )显式声明可以使用+和-运算符进行日期算术。

    也可以使用interval和+或-运算符执行日期运算:

    日期+间隔表达式单位

    日期-间隔表达式单位

    鉴于它得到了医生的认可,我认为任何不同都是风格上的。我个人认为+/-更容易阅读(毕竟,您不使用int-add(…)或double-add(…)来操作数值,那么为什么要使用日期?)其他人可能也有自己喜欢约会加和约会的原因,这也很好。你只要挑点东西,坚持住就行了。

    吉米亚

        2
  •  4
  •   blueberryfields    15 年前

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