Protože jakýkoli operátor porovnání nad NULL objevující se ve filtru sql by měl (a dělá) způsobit, že řádek nebude vybrán.
Měli byste použít null safe operátor <=> pro srovnání se sloupcem obsahujícím NULL hodnoty a další NOT NULL hodnota, ale <=> vrátí 1 když jsou oba operandy NULL protože NULL se nikdy nepovažuje za rovné NULL .
Toto je příklad situace, kdy je užitečný operátor null safe:
Máte stůl:
Phones
----
Number
CountryCode (can be NULL)
A chcete vybrat všechna telefonní čísla, která nepocházejí ze Španělska (kód země 34). První pokus je obvykle:
SELECT Number FROM Phones WHERE CountryCode <> 34;
Všimli jste si však, že některé telefony bez kódu země (hodnota NULL) nejsou uvedeny a chcete je zahrnout do výsledku, protože nepocházejí ze Španělska:
SELECT Number FROM Phones WHERE CountryCode <=> 34;