Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql Select Rows Wo zwei Spalten nicht den gleichen Wert haben

Das Problem ist, dass a !=b NULL ist, wenn entweder a oder b NULL ist.

<=> ist der NULL-sichere Gleichheitsoperator. Um einen NULL-Safe ungleich zu erhalten, können Sie das Ergebnis einfach umkehren:

SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Ohne den Null-Safe-Operator zu verwenden, müssten Sie Folgendes tun:

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)