bookings
以下のように、mysql予約テーブルに予約があります。
start_date = 2013-03-04
end_date = 2013-03-08
特定の日 (この場合は 2013-03-04) が予約の開始日と終了日の間にあるかどうかを確認したい - しかし、開始日に 1 日を加算し、終了日から 1 日を減算したい日にち。
したがって、 2013-03-04と 2013-03-08 の間で検索する代わりに、2013-03-05 と 2013-03-07の間で検索し たい
次のクエリは、終了日から 1 日を減算しますが、開始日は 04 のままにします。以下の検索では結果が得られないはずですが、開始日として 04 を使用しているため、その予約の結果が返されます。[05] [06] [07] とすべきときは、基本的に [04] [05] [06] [07] の間を検索します。
$fd_query_params = array(
':day' => '2013-03-04
);
$query = "
SELECT
*
FROM
bookings as bb
WHERE
:day BETWEEN
DATE_ADD(bb.start_date, INTERVAL 1 DAY)
AND
DATE_SUB(bb.end_date, INTERVAL 1 DAY)
";