我需要一个验证查询,当有人被预订停车位时,特别是另一个人不应该在两个时间之间预订.....我有下表:
我的查询是
SELECT count(*)
FROM managebooking
WHERE Time(BookingTimeFrom) AND Time(BookingTimeTo)
BETWEEN '11:00' AND 02:00'
请帮助我任何人。谢谢!
答案 0 :(得分:-1)
以下查询将检查某一天的当前预订时间是否存在冲突。我们之间不能使用,因为两者之间是包容性的,我们允许相邻的预订。例如;如果现有预订从上午8点到9点,那么我们可以允许从9点开始另一个预订。另外,包括准确度的秒数。这是一个demo_: http://sqlfiddle.com/#!9/d09c9/63
SELECT count(*)
FROM managebooking
WHERE (Time(BookingTimeFrom) >= '08:35:00'
AND Time(BookingTimeTo) > '08:35:00'
AND Time(BookingTimeFrom) < '09:45:00')
OR (Time(BookingTimeFrom) < '08:35:00'
AND Time(BookingTimeTo) > '08:35:00'
AND Time(BookingTimeFrom) < '09:45:00');