我无法弄清楚如何编写查询日期。
例如;
客房表;
room_id, number_of_rooms, checkin(date: 1/05/2012), checkout(date:14/05/2012)
;
我想写一个查询,用户检查输入日期(签入和结帐日期)和房间表格(签入和结帐日期);
想法是知道用户输入的时间段是在入住和退房日期之间的房间表
像这样;
select * from romms
where checkin and checkout date is not among user_entered_checkin and user_entered_checkeout
答案 0 :(得分:2)
也许
SELECT * FROM rooms
WHERE (checkin IS NOT BETWEEN user_entered_checkin AND user_entered_checkout)
AND (checkout IS NOT BETWEEN user_entered_checkin AND user_entered_checkout)
答案 1 :(得分:0)
如果您希望表中完全的范围超出用户输入的范围,那么您可以这样:
...
WHERE checkin > user_entered_checkout
OR checkout < user_entered_checkin
如果您希望范围至少部分的行超出用户输入的范围,则条件可能为:
...
WHERE checkin < user_entered_checkin
OR checkout > user_entered_checkout