php - 带日期计算的棘手 MySQL 查询

标签 php mysql

我需要在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”。 enter image description here

然后你就可以执行这个查询

select date_add(installDate, interval revuePeriod * 3 month) AS f from temp HAVING f < CURRENT_DATE;

结果:

enter image description here

这是你想要的吗?

关于php - 带日期计算的棘手 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010981/

相关文章:

php - 加载大量包会影响 Symfony2 应用程序的整体性能吗?

java - 在spring boot中在辅助数据库上创建表

mysql - SQL查询根据条件选择记录?

php - 使用 php 和 mysql 搜索多个关键字(其中 X 类似)设置限制

php - 如何在jqgrid上绑定(bind)mssql表

php - 如何使用 HTML 将表格加载到多个网页中?

php - WordPress 永久链接重写用于在 URL 中使用父项和子项层次结构的自定义分类和帖子类型

php - php/mysql如何添加单列

php - 过滤 gridview 后的 Yii2 导出

mysql - 如何在mysql View 中重用别名列?