重复发生的事件

时间:2012-11-30 09:41:09

标签: mysql

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

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

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

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

这将输出'2012-11-12',但此日期已消失所以我希望输出大于当前日期'2012-12-12' < / p>

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

请询问是否有任何疑问

1 个答案:

答案 0 :(得分:1)

  1. 由于您没有引用任何存储的数据,MySQL可能是错误的工具吗?

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

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