Rumah > pangkalan data > tutorial mysql > Mengapa Klausa `ANTARA` MySQL Mengecualikan Sekatan Atas?

Mengapa Klausa `ANTARA` MySQL Mengecualikan Sekatan Atas?

Susan Sarandon
Lepaskan: 2025-01-03 12:48:39
asal
195 orang telah melayarinya

Why Does MySQL's `BETWEEN` Clause Exclude the Upper Bound?

Enigma "Antara" MySQL: Mengapa Ia Tidak Termasuk Nilai Pengakhiran

Apabila melaksanakan pertanyaan menggunakan klausa "antara", pengguna mungkin menghadapi pengecualian nilai akhir yang tidak dijangka. Tingkah laku ini, seperti yang digambarkan oleh pertanyaan:

select * from person where dob between '2011-01-01' and '2011-01-31'
Salin selepas log masuk

yang mengembalikan hasil daripada '2011-01-01' kepada '2011-01-30', meninggalkan rekod dengan '2011-01-31'.

Untuk memahami tingkah laku ini, kami menyelidiki dokumentasi MySQL, yang menjelaskan bahawa:

"This is equivalent to the expression
(min <= expr AND expr <= max) "
Salin selepas log masuk

Dalam kes ini, "min" ialah '2011-01-01' dan "maks" ialah '2011-01-31'. Ungkapan "(min <= expr AND expr <= max)" dinilai kepada palsu untuk nilai yang sama dengan "maks", oleh itu pengecualian '2011-01-31' daripada keputusan.

Atas ialah kandungan terperinci Mengapa Klausa `ANTARA` MySQL Mengecualikan Sekatan Atas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan