【问题标题】:DATE_SUB() vs DATE - intervalDATE_SUB() 与 DATE - 间隔
【发布时间】:2021-03-02 01:58:43
【问题描述】:

看到很多查询不使用 DATE_SUB() 函数,而是通过执行减去 'DATE' - 间隔 x 天。我认为有区别,但我想了解当他们像这样直接减去时会发生什么。

【问题讨论】:

  • 这和我们做date_expr + INTERVAL -5 DAY时发生的事情是一样的
  • @spencer7593 这种形式是可交换的db<>fiddle demo :)

标签: mysql sql datetime date-arithmetic


【解决方案1】:

我知道有区别

不,没有区别。通常,这两个语句返回相同的结果:

select current_date - interval 5 day;
-- is the same as
select date_sub(current_date, interval 5 day);

这些是等价的,并且都是在 MySQL 中进行日期算法的完全有效的方法。你选择哪一个主要是一个品味问题。至于我,我更喜欢显式减法,因为它是标准的日期算术,而 date_sub() 是 MySQL 特有的。

【讨论】:

  • 谢谢,我想我弄错了。
猜你喜欢
  • 2013-08-25
  • 2021-01-29
  • 2013-03-16
  • 2014-11-02
  • 2014-07-09
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2016-03-05
相关资源
最近更新 更多