Teka-teki NULL SQL: Memahami = NULL
lwn. IS NULL
Bekerja dengan nilai NULL dalam SQL selalunya menunjukkan tingkah laku yang tidak dijangka. Kunci untuk mengenal pasti NULL dengan betul terletak pada memahami perbezaan antara WHERE x = NULL
dan WHERE x IS NULL
.
WHERE x IS NULL
terus menyemak sama ada nilai x
adalah NULL secara eksplisit. Adalah penting untuk ambil perhatian bahawa ini tidak termasuk sifar atau rentetan kosong, yang merupakan nilai yang berbeza dalam SQL.
Sebaliknya, WHERE x = NULL
cuba membandingkan x
kepada NULL. Perbandingan ini sentiasa menghasilkan NULL kerana SQL menganggap mana-mana perbandingan yang melibatkan nilai NULL sebagai NULL, yang bernilai salah dalam klausa WHERE
.
Oleh itu, untuk mengesan baris yang mengandungi nilai NULL secara berkesan, WHERE x IS NULL
ialah pendekatan yang betul. WHERE x = NULL
akan sentiasa mengembalikan set hasil kosong disebabkan oleh pengendalian unik SQL bagi perbandingan NULL. Menggunakan sintaks yang betul memastikan hasil pertanyaan yang tepat apabila berurusan dengan data NULL.
Atas ialah kandungan terperinci Mengapa `WHERE x = NULL` Tidak Berfungsi untuk Mencari Nilai NULL dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!