我正在编写一个脚本,用于从DB中选择仅在5分钟(或任何其他设定时间量)内查询的里程碑。我有一些问题。
日期以这种格式存储在数据库中:
例如:2016-12-05 21:19:00
运行此查询时:
SELECT * FROM里程碑WHERE status ="计划"和时间> =现在()
我能够在将来获得所有内容的结果,但是我将如何限制查询,例如只说5分钟。
答案 0 :(得分:3)
您可以使用BETWEEN
和DATE_ADD
MySQL函数来实现所需的结果,例如:
SELECT *
FROM milestones
WHERE status="planned" and time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 5 MINUTE)
这将打印所有日期在当前日期和下一个5分钟之间的条目。
如果要在最后5分钟内打印相同内容,可以使用以下内容:
SELECT *
FROM milestones
WHERE status="planned" and time BETWEEN DATE_SUB(NOW(), INTERVAL 5 MINUTE) AND NOW()