Ответ «Недрет Реджеп» работал в моем случае с похожим, но другим сценарием. Я хотел выяснить, перекрывает ли данный диапазон дат какие-либо другие события в базе данных.
Table (Master Blocking Dates)
mbd_id mbd_from_date mbd_to_date mbd_reason
1 2013-10-16 2013-10-19 Demo Blocking 1
2 2013-10-21 2013-10-24 Demo2
3 2013-10-31 2013-11-04 Demo3
и мой запрос, основанный на предложении «Недрет Реджеп», был следующим:
SELECT * FROM ib_master_blocked_dates WHERE venue_id=$venue_id AND
(
(mbd_from_date BETWEEN '$from_date' AND '$to_date')
OR
(mbd_to_date BETWEEN '$from_date' AND '$to_date')
OR
('$to_date' BETWEEN mbd_from_date AND mbd_to_date)
OR
('$from_date' BETWEEN mbd_from_date AND mbd_to_date)
)
Результат:
mbd_id mbd_from_date mbd_to_date mbd_reason
1 2013-10-16 2013-10-19 Demo Blocking 1
2 2013-10-21 2013-10-24 Demo2