Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql Select Rows Où deux colonnes n'ont pas la même valeur

Le problème est que a !=b est NULL lorsque a ou b est NULL.

<=> est l'opérateur égal NULL-safe. Pour obtenir un NULL-safe différent de vous, vous pouvez simplement inverser le résultat :

SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Sans utiliser l'opérateur null safe, vous devriez faire ceci :

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)