Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql Select Rows Onde duas colunas não têm o mesmo valor


O problema é que a !=b é NULL quando a ou b é NULL.

<=> é o operador igual a NULL-safe. Para obter um NULL-safe diferente de você pode simplesmente inverter o resultado:
SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Sem usar o operador null safe, você teria que fazer isso:
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)