Ponieważ każdy operator porównania nad NULL pojawienie się w filtrze sql powinno (i robi) sprawić, że wiersz nie zostanie zaznaczony.
Powinieneś użyć bezpiecznego operatora o wartości null <=> do porównania z kolumną zawierającą NULL wartości i inne NOT NULL wartość ale <=> zwróci 1 gdy oba operandy są NULL ponieważ NULL nigdy nie jest uważany za równy NULL .
To jest przykład sytuacji, w której operator null safe jest przydatny:
Masz stolik:
Phones
----
Number
CountryCode (can be NULL)
I chcesz wybrać wszystkie numery telefonów, które nie pochodzą z Hiszpanii (kod kraju 34). Pierwsza próba to zwykle:
SELECT Number FROM Phones WHERE CountryCode <> 34;
Zauważasz jednak, że na liście nie ma telefonów bez kodu kraju (wartość NULL) i chcesz je uwzględnić w wyniku, ponieważ nie pochodzą one z Hiszpanii:
SELECT Number FROM Phones WHERE CountryCode <=> 34;