something <> NULL
zal evalueren tot NULL
. En als het in een zoekopdracht wordt gebruikt, is dat vrijwel hetzelfde als 0
(of false
).
Onthoud dat SQL driewaardige logica gebruikt en geen eenvoudige binaire logica.
Mogelijk moet u expliciet op NULL controleren met IS NULL
:
... OR THING IS NULL
Als alternatief kunt u de NULL-safe is gelijk aan operator <=>
met een ontkenning (dit is MySQL-specifiek, echter, het is geen standaard SQL
):
... AND NOT (THING <=> 'This')