SQL !=
dan <>
Operator dan Nilai NULL: Penjelasan
SQL !=
(tidak sama dengan) dan <>
mempamerkan gelagat unik apabila menemui nilai NULL
. Memahami perkara ini memerlukan memahami intipati NULL
dalam SQL.
NULL
menandakan ketiadaan nilai, bukan rentetan kosong ("") atau sifar (0). Ini menunjukkan bahawa medan atau lajur belum diberikan nilai data.
Biasanya, !=
dan <>
kembalikan true
jika nilai berbeza. Walau bagaimanapun, ini tidak terpakai kepada NULL
.
Pertimbangkan ini:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn != NULL; -- (0 Results)</code>
Pertanyaan ini menghasilkan hasil sifar, walaupun MyColumn
mengandungi entri bukanNULL
. Sebabnya? !=
dan <>
tidak boleh beroperasi pada NULL
. Mereka memerlukan nilai konkrit untuk perbandingan.
Sebaliknya:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn IS NOT NULL; -- (568 Results)</code>
Pertanyaan ini mengembalikan semua baris dengan betul dengan MyColumn
bukan NULL
. IS NOT NULL
direka khusus untuk menyemak ketiadaan nilai (NULL
).
Ringkasnya: NULL
ialah nilai unik dalam SQL. Menggunakan !=
atau <>
untuk membandingkan dengan NULL
sentiasa menghasilkan false
. Untuk menguji ketiadaan nilai dengan tepat, gunakan operator IS NOT NULL
.
Atas ialah kandungan terperinci Bagaimana Pengendali `!=` dan `` Berkelakuan dengan Nilai NULL dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!