0

可能重复:
确定两个日期范围是否重叠

我正在尝试创建一个查询,该查询根据预订表中是否有预订来选择一个表中的所有汽车。目前我有这个效果很好,直到我把预订日期减去一天和预订两个日期加上一天。因为我使用的是 equals,所以它会显示在该日期范围内预订的汽车。

如果我在预订表中有一辆从 2013 年 1 月 22 日到 2013 年 1 月 25 日的汽车,并且用户输入 2013 年 1 月 20 日的从和 13 年 1 月 27 日,汽车将不会出现在结果中。

SELECT   *
FROM vehicles, car_model, manufacture
WHERE NOT EXISTS (SELECT *
                  FROM booking
                  WHERE vehicles.reg_number = booking.reg_number
                  AND booking.date_from = '22-JAN-13'
                  AND booking.date_to = '23-JAN-13'
                  AND booking.booking_status = 1)
AND vehicles.model_code = car_model.model_code
AND car_model.manufacture_code = manufacture.manufacture_code;

谢谢。

4

1 回答 1

0

使用BETWEEN运算符 -SELECT ... WHERE ... BETWEEN start_date AND end_date...

于 2013-01-22T13:22:00.070 回答