Rumah >pangkalan data >tutorial mysql >IS NULL vs. =NULL dalam SQL: Apakah Perbezaan dan Bilakah Saya Perlu Menggunakan Setiap?
Perbezaan antara IS NULL dan =NULL
Dalam SQL, kedua-dua pengendali IS NULL
dan =NULL
digunakan untuk menyemak sama ada medan mengandungi nilai nol. Walau bagaimanapun, terdapat perbezaan yang ketara dalam cara ia beroperasi, dan penggunaan yang tidak betul boleh membawa kepada hasil yang tidak dijangka.
=NULL
Operator=NULL
mengembalikan benar hanya jika medan diberikan nilai NULL secara eksplisit (contohnya, field = NULL
). Walau bagaimanapun, dalam klausa WHERE
, ia menganggap nilai NULL sebagai palsu, dengan itu tidak termasuk baris yang mengandungi nilai NULL daripada set hasil.
ADALAH NULL
OperatorIS NULL
mengembalikan benar apabila medan ditugaskan secara eksplisit kepada NULL atau tidak mempunyai nilai sama sekali (contohnya, field IS NULL
). Tingkah laku ini konsisten di dalam dan di luar klausa WHERE
.
Bila hendak menggunakan pengendali yang mana
IS NULL
apabila anda perlu memilih baris yang mengandungi nilai NULL atau membezakan antara nilai NULL dan nilai yang tidak diketahui.
WHERE
dalam klausa =NULL
kerana ia mengecualikan baris yang mengandungi nilai NULL yang mungkin anda ingin sertakan dalam set hasil. Gunakan sebaliknya untuk menyemak nilai NULL secara eksplisit. IS NULL
Contoh
Pertanyaan berikut menggunakan untuk memilih semua baris yang mengandungi nilai NULL dalam medan 'nama': IS NULL
<code class="language-sql">SELECT * FROM table WHERE name IS NULL;</code>Pertanyaan berikut menggunakan
dalam klausa WHERE
, yang salah mengecualikan baris yang mengandungi nilai NULL: =NULL
<code class="language-sql">SELECT * FROM table WHERE name = NULL;</code>Dengan memahami perbezaan antara
dan IS NULL
, anda boleh memastikan pertanyaan SQL anda mengembalikan hasil yang diingini dan mengelakkan sebarang kemungkinan kekeliruan atau tingkah laku yang tidak dijangka. =NULL
Atas ialah kandungan terperinci IS NULL vs. =NULL dalam SQL: Apakah Perbezaan dan Bilakah Saya Perlu Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!