Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengenal pasti julat tarikh bertindih dengan cekap dalam MySQL?
Dalam MySQL, kita selalunya perlu menentukan sama ada julat tarikh tertentu bertindih dengan mana-mana julat tarikh dalam senarai yang disimpan. Untuk menyelesaikan masalah ini, mari kita pertimbangkan hubungan antara dua julat tarikh:
Kenal pasti julat bertindih
Kuncinya ialah mencari julat yang tidak bertindih. Dengan mentakrifkan keadaan ini secara negatif, kita boleh mengecilkan fokus kepada kriteria berikut:
Dalam SQL, hasil penukaran logik ini ke dalam bentuk pertanyaan adalah seperti berikut:
<code class="language-sql">SELECT * FROM periods WHERE NOT (range_start > @check_period_end OR range_end < @check_period_start)</code>
Dengan membalikkan logik, kami boleh mendapatkan julat bertindih seperti berikut:
<code class="language-sql">SELECT * FROM periods WHERE range_start <= @check_period_end AND range_end >= @check_period_start</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengenal pasti julat tarikh bertindih dengan cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!