Problemet er, at a !=b er NULL, når enten a eller b er NULL.
<=>
er NULL-safe equals-operatoren. For at få en NULL-safe, der ikke er lig med, kan du blot invertere resultatet:
SELECT *
FROM my_table
WHERE NOT column_a <=> column_b
Uden at bruge null safe-operatøren skulle du gøre dette:
SELECT *
FROM my_table
WHERE column_a != column_b
OR (column_a IS NULL AND column_b IS NOT NULL)
OR (column_b IS NULL AND column_a IS NOT NULL)