!=
, <>
dan IS NOT NULL
Pengendali ketidaksamaan SQL (!=
dan <>
) berkelakuan berbeza dengan nilai NULL berbanding dengan nilai bukan NULL. Ini kerana NULL mewakili ketiadaan nilai, bukan nilai tertentu.
!=
/<>
lwn. IS NOT NULL
: Perbezaan UtamaPertimbangkan pertanyaan ini:
SELECT * FROM MyTable WHERE MyColumn != NULL;
Pertanyaan ini akan mengembalikan set hasil kosong. Pengendali !=
(atau <>
) membandingkan nilai dan NULL bukan nilai; perbandingannya tidak ditentukan.
Sebaliknya:
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL;
Pertanyaan ini mengembalikan semua baris yang MyColumn
mempunyai nilai (iaitu, bukan NULL). IS NOT NULL
direka khusus untuk menyemak kehadiran atau ketiadaan NULL.
Pengendali !=
dan <>
berfungsi seperti yang diharapkan apabila membandingkan nilai bukan NULL:
SELECT * FROM MyTable WHERE MyColumn <> 'MyValue';
Ini mengembalikan baris yang MyColumn
berbeza daripada 'MyValue'.
Ingat: !=
dan <>
bandingkan nilai, manakala IS NOT NULL
menyemak ketiadaan nilai (NULL). Memahami perbezaan ini adalah penting untuk penapisan dan manipulasi data yang tepat dalam SQL.
Atas ialah kandungan terperinci Bagaimanakah Pengendali `!=` dan `` SQL Berbeza daripada `IS NOT NULL` Apabila Mengendalikan Nilai NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!