小编典典

从两列MySQL中选择给定时间间隔之间的数据

all

我需要从给定时间间隔的表中检索数据。我的桌子是这样的——

ID 开始时间 时间结束
1 06:30:00 07:00:00
2 06:45:00 07:15:00
3 13:15:00 14:00:00
4 09:30:00 10:15:00

给定时间间隔 - (05:00:00 - 10:00:00)

我的期望——

ID 开始时间 时间结束
1 06:30:00 07:00:00
2 06:45:00 07:15:00
4 09:30:00 10:15:00

我需要在给定的时间间隔内获取 id (4) 作为它的开始时间。那么查询会是什么?

到目前为止,我可以想象这个 -

请看图片


阅读 95

收藏
2022-07-16

共1个答案

小编典典

要获取给定时间间隔 - (05:00:00 - 10:00:00) 之间的所有值,请使用:

select * 
from tbl
where Start_Time between '05:00:00' and '10:00:00'
or End_Time  between '05:00:00' and '10:00:00';

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=ba828afe1a3ca9f21d6c104ea7dcfdff

使用比较运算符

SELECT * FROM tbl WHERE  
(`start_time`>= '05:00:00' AND `start_time` <= '10:00:00') OR 
 (`end_time`>= '05:00:00' AND `end_time` <= '10:00:00') 
2022-07-16