sql >> Databáze >  >> RDS >> Mysql

Mysql Select Rows Kde dva sloupce nemají stejnou hodnotu

Problém je v tom, že a !=b je NULL, když a nebo b je NULL.

<=> je operátor NULL-safe se rovná. Chcete-li získat NULL-safe, který se vám nerovná, jednoduše invertujte výsledek:

SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Bez použití operátoru null safe byste museli udělat toto:

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)



  1. MySQL vs MySQLi při použití PHP

  2. Jak ukládat soubory .txt MySQL databázi?

  3. Chyba při používání připravených příkazů PDO a LIMIT v dotazu

  4. Nástroje pro generování databázového diagramu/ER diagramu ze stávající databáze Oracle?