MySQL 时间间隔 select

MySQL DateTime select with interval

我正在尝试 select 从 table 开始,其中 DateTime 字段早于 15 分钟。直到午夜刚过,查询似乎都运行良好。不确定如何 MySQL 区分上午和下午。在正确方向上的任何帮助都会有所帮助。

示例:

Current time: 11:50 (AM)

last_successful_run: 12:02 (AM)

This should be selected b/c 12:02 (AM) is over 15 older than 11:50 (am)

Insert in the format "yyyy-MM-dd hh:mm:ss"

last_successful_run 类型为 DATETIME Default/Expression = NULL

Table

ID |  last_successful_run
1  |  2019-02-07 12:06:37
2  |  2019-02-07 12:05:15
3  |  2019-02-07 12:00:12
4  |  2019-02-07 12:10:37

SELECTQRY

SELECT `ID`
    FROM reports.tests 
    WHERE `last_successful_run` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)

一种可能是您正在根据本地机器时间检查它,而 MySQL 安装在另一台时间不同的机器上。

问题出在插入数据库上。通过将字符串的插入格式从 "yyyy-MM-dd hh:mm:ss" 更改为 "yyyy-MM-dd HH:mm:ss",这允许插入从 2018-02-23 02:24:24 过渡到 2018-02-23 14:24:24.