我有一个表,其中有一个日期列,然后有一个time in and time out列-在某些情况下,我需要检查的时间可能是昨天,而这正是我在努力的地方。
我无法更改表格布局以使用日期时间,因为这是我正在做少量工作的更广泛系统的一部分。
例如,现在是2019-02-21 20:01:00,我正在查找时间超过8小时的所有记录。
这是我正在使用的查询:
SELECT id from table where
((date='2019-02-21' and time_in < date_sub(now(),interval 8 hour))
or
(date='2019-02-20' and time_in < date_add(now(), interval 16 hour)))
and
time_out='00:00:00'
是否可以在时间加上间隔的负值使时间超过午夜/ 00:00的情况下使此方法起作用?
答案 0 :(得分:1)
使用TIMESTAMP
函数组合日期和时间,然后与日期进行比较:
WHERE TIMESTAMP(date, time_in) < CURRENT_TIMESTAMP - INTERVAL 8 HOUR