Rumah >pangkalan data >tutorial mysql >Adakah Klausa `ANTARA` MySQL Termasuk Upper Bound?

Adakah Klausa `ANTARA` MySQL Termasuk Upper Bound?

DDD
DDDasal
2025-01-05 05:18:40526semak imbas

Is MySQL's `BETWEEN` Clause Inclusive of the 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn