0

我不知道如何编写查询来检查日期。

例如;

客房桌; 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
4

2 回答 2

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)
于 2012-04-29T06:18:25.567 回答
0

如果您希望表中的范围完全超出用户输入的范围,那么您可以这样做:

...
WHERE checkin  > user_entered_checkout
   OR checkout < user_entered_checkin

如果您想要范围至少部分超出用户输入范围的行,则条件可能是:

...
WHERE checkin  < user_entered_checkin
   OR checkout > user_entered_checkout
于 2012-04-29T15:24:53.797 回答