MySQL では、特定の日付範囲が保存されたリスト内の日付範囲と重複するかどうかを判断する必要があることがよくあります。この問題を解決するために、2 つの日付範囲間の関係を考えてみましょう:
重複する範囲を特定する
重要なのは、重ならない範囲を見つけることです。この条件を否定的に定義することで、焦点を次の基準に絞り込むことができます:
SQL では、このロジックをクエリ形式に変換した結果は次のようになります:
<code class="language-sql">SELECT * FROM periods WHERE NOT (range_start > @check_period_end OR range_end < @check_period_start)</code>
ロジックを逆にすると、次のように重複する範囲を取得できます。
<code class="language-sql">SELECT * FROM periods WHERE range_start <= @check_period_end AND range_end >= @check_period_start</code>
以上がMySQL で重複する日付範囲を効率的に特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。