something <> NULL
kommer att utvärderas till NULL
. Och om det används i en fråga är det i stort sett samma som 0
(eller false
).
Kom ihåg att SQL använder trevärdig logik och inte enkel binär logik.
Du kan behöva leta efter NULL uttryckligen med IS NULL
:
... OR THING IS NULL
Alternativt kan du använda NULL-safe equals operator <=>
med en negation (detta är MySQL-specifikt, dock det är inte standard SQL
):
... AND NOT (THING <=> 'This')