0

我不知道是否已经发布了此类问题,但我无法在任何地方找到我的解决方案。

我正在用这种方法计算日期

SELECT date(DATE_ADD('2012-9-12',INTERVAL TIMESTAMPDIFF(month,'2012-9-12',now()) month)) as date;

但这里有一些问题让我解释一下

这将输出“2012-11-12”,但这个日期已经消失,所以我希望输出大于当前日期“2012-12-12”

一般来说,我总是输出大于当前日期

请询问是否有任何疑问

4

1 回答 1

1
  1. 由于您没有引用任何存储的数据,也许 MySQL 是这项工作的错误工具?

  2. 您的表达式将始终返回小于或等于当前日期的日期。如果您总是希望输出大于当前日期,则必须在间隔中添加一个额外的月份:

    SELECT date(DATE_ADD(
             '2012-9-12',
             INTERVAL 1 + TIMESTAMPDIFF(month,'2012-9-12',now()) month
           )) as date;
    
于 2012-11-30T09:54:49.390 回答