我不知道是否已经发布了这类问题,但我无法在任何地方找到我的解决方案。
我正在用这种方法计算日期
SELECT date(DATE_ADD('2012-9-12',INTERVAL TIMESTAMPDIFF(month,'2012-9-12',now()) month)) as date;
但是这里有一些问题让我解释一下
这将输出'2012-11-12',但此日期已消失所以我希望输出大于当前日期'2012-12-12' < / p>
一般来说,我总是输出大于当前日期
请询问是否有任何疑问
答案 0 :(得分:1)
由于您没有引用任何存储的数据,MySQL可能是错误的工具吗?
您的表达式将始终返回小于或等于当前日期的日期。如果您总是希望输出更大而不是当前日期,则必须在该间隔中再添加一个月:
SELECT date(DATE_ADD(
'2012-9-12',
INTERVAL 1 + TIMESTAMPDIFF(month,'2012-9-12',now()) month
)) as date;