Karena setiap operator perbandingan di atas NULL
muncul dalam filter sql harus (dan memang) membuat baris tidak dipilih.
Anda harus menggunakan operator aman nol <=>
untuk membandingkan dengan kolom yang berisi NULL
nilai dan NOT NULL
lainnya nilai tetapi <=>
akan mengembalikan 1
ketika kedua operan NULL
karena NULL
tidak pernah dianggap sama dengan NULL
.
Ini adalah contoh situasi di mana null safe operator berguna:
Anda memiliki meja:
Phones
----
Number
CountryCode (can be NULL)
Dan Anda ingin memilih semua nomor telepon yang tidak berasal dari Spanyol (kode negara 34). Percobaan pertama biasanya:
SELECT Number FROM Phones WHERE CountryCode <> 34;
Tetapi Anda melihat bahwa ada ponsel tanpa kode negara (nilai NULL) yang tidak terdaftar dan Anda ingin memasukkannya ke dalam hasil karena bukan dari Spanyol:
SELECT Number FROM Phones WHERE CountryCode <=> 34;