如何在指定的时间范围内找到mysql的结果?

时间:2010-11-12 09:17:18

标签: sql mysql

我的表

  

ID StartTime EndTime

1 09:00:00 10:00:00

2 10:30:00 11:00:00

3 14:30:00 16:00:00

如何检查传递的日期范围是否介于开始时间和结束时间之间...就像我说的,如果starttime是 09:24:00 并且endtime是 09: 56:00 ?它应该返回Id值1

你能帮我一点吗?

3 个答案:

答案 0 :(得分:0)

StartTime<时间和结束时间>时间

答案 1 :(得分:0)

如果值为between两个其他值,请使用BETWEEN。请注意,BETWEEN比较包括边界。

WHERE `time` BETWEEN `StartTime` AND `EndTime`

当然不要忘记

CAST(`time` AS TIME)

如果它不是TIME类型。


检查范围:

WHERE 
    (CAST(`rangeStart` AS TIME) BETWEEN `StartTime` AND `EndTime`) AND 
    (CAST(`rangeEnd` AS TIME) BETWEEN `StartTime` AND `EndTime`)

答案 2 :(得分:0)

暂停以下查询

SELECT * FROM tablename 
 WHERE StartTime < cast('09:24:00' as time) 
 AND   EndTime > cast('09:56:00' as time);