【发布时间】:2019-06-05 17:55:45
【问题描述】:
我正在尝试检查记录列表的datetime 是否小于系统datetime,这些记录的字段status 也必须等于1 或2。我所做的如下:
SELECT SUM(m2.datetime < NOW() AND m2.status IN (1, 2)) < 0 AS result
FROM `match` m2 WHERE m2.round_id = @round_id GROUP BY m2.round_id
此查询在以下情况下不起作用:
id | datetime | status |
1 2018-11-30 18:00:00 5
2 2018-12-09 13:30:00 5
3 2018-12-15 14:00:00 5
4 2018-12-21 13:30:00 5
5 2019-01-08 17:45:00 1
正如您在上面显示的记录列表中看到的,我有 4 条状态为 5 的记录,所有这些记录的日期都小于当前系统 datetime。现在,我有另一条状态等于1 的记录的日期时间小于当前,所以查询的结果应该是true,因为有一条记录的status 等于@ 987654333@ 并且还有一个datetime 小于系统datetime。为什么查询返回 false?
【问题讨论】: