Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Probleme mit SQL-Vergleich und Nullwerten

Das Problem ist mit NULL-Vergleich. Wenn a.field1 oder b.field3 NULL ist, müssen Sie eine IS NULL- oder IS NOT NULL-Anweisung verwenden. Sie könnten einen Standardwert für a.field1 und b.field3 mit der ISNULL-Funktion verwenden.

ISNULL(a.field1,0) <> ISNULL(b.field3,0)

in diesem Fall wird mit dem Wert 0 verglichen.

SELECT IIF(NULL=NULL,'true','false') – Das Ergebnis ist falsch. Erstaunlich!