我需要在MySQL中构建一个棘手的查询,但无法得到它。尝试了很多不同的方法。我有一个名为 revuePeriod
的字段这是一个整数,表示检查之间的月数。我有另一个名为 installDate
的字段这是一个日期字段。我只想返回安装日期加上 revuePeriod
的记录是在今天之前,所以本质上显示 if (installDate + (revuePeriod x months)) < today
我可以轻松地对间隔进行硬编码,例如:
SELECT * FROM cameras WHERE DATE_ADD(installDate, INTERVAL 3 MONTH) < CURRENT_DATE
让我困惑的是如何让月份数由现场决定revuePeriod
.
最佳答案
例如,您有表“temp”,其中包含字段“installDate”和“revuePeriod”。
然后你就可以执行这个查询
select date_add(installDate, interval revuePeriod * 3 month) AS f from temp HAVING f < CURRENT_DATE;
结果:
这是你想要的吗?
关于php - 带日期计算的棘手 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010981/