sql >> Databasteknik >  >> RDS >> Mysql

Mysql Välj rader där två kolumner inte har samma värde

Problemet är att a !=b är NULL när antingen a eller b är NULL.

<=> är NULL-safe equals-operatorn. För att få en NULL-safe som inte är lika med kan du helt enkelt invertera resultatet:

SELECT *
FROM my_table
WHERE NOT column_a <=> column_b

Utan att använda nollsafe-operatören skulle du behöva göra detta:

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. node.js async/await med MySQL

  2. Prestandajustering av hela frågeplanen

  3. Node Mysql kan inte ställa en fråga i kö efter att ha anropat quit

  4. Felsökning av variabelt minnesbidrag i SQL Server