我需要按时间过滤记录,因此我将此查询应用于MySQL
SELECT * FROM TABLE WHERE TIME(created_at) >= '07:00:00' AND TIME(created_at) <= '06:59:59';
这应该在24小时之间过滤所有记录,但没有输出,但是如果我改变时间如下查询它完美地运作
SELECT * FROM TABLE WHERE TIME(created_at) >= '00:00:00' AND TIME(created_at) <= '23:59:59';
我试图在两个给定时间段之间找到差异,我得到的结果是这样的
SELECT TIMEDIFF('00:00:00','23:59:59');
给了我-23:59:59小时的总差异
,而
SELECT TIMEDIFF('07:00:00','06:59:59');
给我的是00:00:01,但我想它应该是-23:59:59,如上所述
解决这个简单问题的更好方法是什么??
答案 0 :(得分:0)
它有一天过路,所以解决方案就是这样的
SELECT * FROM TABLE WHERE ((TIME(created_at) >= '07:00:00' AND TIME(created_at) <= '23:59:59') OR (TIME(created_at) >= '00:00:00' AND TIME(created_at) <= '06:59:59'));