something <> NULL
evaluará a NULL
. Y si se usa en una consulta, es más o menos lo mismo que 0
(o false
).
Recuerde que SQL usa lógica de tres valores y no simple lógica binaria.
Es posible que deba verificar NULL explícitamente usando IS NULL
:
... OR THING IS NULL
Alternativamente, puede usar NULL-safe equals operador <=>
con una negación (esto es específico de MySQL, sin embargo, no es SQL estándar
):
... AND NOT (THING <=> 'This')