私はかつて書いたカレンダーアプリケーションでそのようなクエリをしました。私は次のようなものを使用したと思います:
... WHERE new_start < existing_end
AND new_end > existing_start;
更新 これは間違いなく機能するはずです((ns、ne、es、ee)=(new_start、new_end、existing_start、existing_end)):
- ns --ne --es --ee:重複せず、一致しません(ne
- ns --es --ne --ee:重複して一致
- es --ns --ee --ne:重複して一致
- es --ee --ns --ne:重複せず、一致しません(ns> eeのため)
- es --ns --ne --ee:重複して一致
- ns --es --ee --ne:重複して一致
これが