Rumah >pangkalan data >tutorial mysql >Adakah Klausa `ANTARA` MySQL Termasuk Upper Bound?
MySQL "antara" Klausa: Keterangkuman Dianggap
Semasa menggunakan klausa "antara" dalam pertanyaan MySQL, adalah penting untuk mempertimbangkan bukan- sifat inklusif mengenai nilai akhir. Sebagai contoh, melaksanakan pertanyaan seperti:
select * from person where dob between '2011-01-01' and '2011-01-31'
akan mendapatkan semula hasil dengan tarikh lahir (DOB) antara '2011-01-01' hingga '2011-01-30', tidak termasuk rekod dengan DOB daripada '2011-01-31'.
Tingkah laku ini boleh dikaitkan dengan MySQL tafsiran klausa "antara" sebagai ungkapan logik yang menyerupai:
(min <= expr AND expr <= max)
Untuk mengambil kira perkara ini dan memasukkan rekod dengan DOB ialah '2011-01-31', pertanyaan boleh diubah suai dalam dua cara:
Kaedah 1: Menggunakan Perbandingan Operator
Dengan menggunakan operator perbandingan, pertanyaan boleh menyemak secara eksplisit kedua-dua sempadan atas dan bawah:
select * from person where dob >= '2011-01-01' and dob <= '2011-01-31'
Kaedah 2: Menggunakan Operator NOT BETWEEN
Sebagai alternatif, pengendali "TIDAK ANTARA" boleh digunakan untuk kecualikan julat tertentu sambil menyertakan titik akhir yang diingini:
select * from person where dob NOT BETWEEN '2011-01-02' and '2011-01-30'
Atas ialah kandungan terperinci Adakah Klausa `ANTARA` MySQL Termasuk Upper Bound?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!