mysql查询检查日期

时间:2012-04-29 06:05:32

标签: mysql sql

我无法弄清楚如何编写查询日期。

例如;

客房表; 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

2 个答案:

答案 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