简体   繁体   English

mysql 检查房间是否存在于具有持续时间的特定日期

[英]mysql to check room is exists for a particular date with time duration

I have check room is exists between two time for particular date.我检查房间是否存在于特定日期的两个时间之间。

我的桌子是这样的

I have try following two query its run some time rights but, when i select 10:00 AM to 12:00 PM at time wrong results means not return any records.我尝试了以下两个查询它的运行时间权限但是,当我选择上午 10:00 到下午 12:00 时,错误的结果意味着不返回任何记录。

QUERY-1 :查询-1

SELECT 1 FROM `timetable_details` WHERE (
        ((`td_from` <= '10:00:00') AND (`td_to` > '10:00:00')) 
        OR 
        ((`td_from` < '12:20:00') AND (`td_to` >= '12:20:00'))

    ) AND ((`td_room`='1') AND (`td_date`='2016-01-25'))

QUERY-2 :查询-2

SELECT 1 FROM `timetable_details` WHERE (
            (`td_from` > '07:00:00') AND (`td_to` < '08:00:00')
      ) AND ((`td_room`='1') AND (`td_date`='2016-01-25'))

I have get td_id = 4 number row but is not returns.我得到了td_id = 4数字行,但没有返回。

您可以between两列between使用OR condition ,如下所示:

SELECT 1 FROM `timetable_details` WHERE (((((`td_from` BETWEEN '10:00:00' AND '12:30:00') OR (`td_to` BETWEEN '10:00:00' AND '12:30:00')) AND ((`td_room`='1') AND (`td_date`='2016-01-25') AND (`td_status` IS NULL))) AND (`td_from` <> '12:30:00')) AND (`td_to` <> '10:00:00'))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM