查询以获取说明时间和结束时间之间的记录列表
前:
Start_time End_time
----------------------
22:00 05:00
20:00 02:00
如果我在时间之间查询必须得到那些结果不使用任何特定日期。我用过Now()之间不值得任何人有好主意
答案 0 :(得分:0)
尝试使用DATE_FORMAT(dt,'%H:%i')从日期获取HH:MI
字符串,然后将其与start_time
和end_time
进行比较,具体取决于start_time>end_time
。
SET @start_time = '22:00';
SET @end_time = '05:00';
select *
from T
where (
(@start_time<=@end_time)
AND (DATE_FORMAT(dt,'%H:%i') >= @start_time)
AND (DATE_FORMAT(dt,'%H:%i') <= @end_time)
)
OR
( (@start_time>@end_time)
AND
(
(DATE_FORMAT(dt,'%H:%i') >= @start_time)
OR
(DATE_FORMAT(dt,'%H:%i') <= @end_time)
)
);