sql >> Base de Datos >  >> RDS >> Mysql

Mysql Seleccionar filas donde dos columnas no tienen el mismo valor

El problema es que a !=b es NULL cuando aob es NULL.

<=> es el operador igual a NULL seguro. Para obtener un NULL seguro que no sea igual a usted, simplemente invierta el resultado:

SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Sin usar el operador seguro nulo, tendría que hacer esto:

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)