2 つの日付間隔が交差しているかどうかを確認するために、MySQL をチェックインする必要があります。私の問題をよりよく説明するには、イベント管理モジュールを持っています。次のように追加されたイベントがあるとします。
開始日 :
'2013-09-09 08:00:00'
終了日 :
'2013-09-09 10:00:00'
そして今、次のような別のイベントを追加したいと思います:
ケースA:
開始日 :
'2013-09-09 09:00:00'
終了日 :
'2013-09-09 11:00:00'
またはこのように:
ケース B:
開始日 :
'2013-09-09 07:00:00'
終了日 :
'2013-09-09 12:00:00'
その時間間隔 (08-10) にイベントが既に追加されているため、これを実行できないはずです
最初の例 ( case A
) では、次のようにして問題を解決しました。
SELECT * FROM `events` as e
where
'2013-09-09 08:00:00' between e.ev_date_start and e.ev_date_end -- date start
OR
'2013-09-09 11:00:00' between e.ev_date_start and e.ev_date_end -- date end
しかし、2番目のケース(case B
)については、私はそれを理解するのに苦労しています...