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

Warum verhält sich der Vergleich einer SQL-Datumsvariablen mit null so?

Einfach ausgedrückt ist 'NULL' nicht gleich 'NULL'. „NULL“ ist vergleichbar mit einem Zustand der Ungewissheit, bei dem eine Sache, die ungewiss ist, nicht unbedingt gleichbedeutend mit etwas anderem ist, das ebenfalls ungewiss ist. Verwenden Sie „IS NULL“, „ISNULL()“ oder „COALESCE()“, wenn Sie auf Nullen testen. Das Setzen von ANSI_NULLS auf 'off' kann dieses Verhalten ändern, aber es ist nicht der ANSI-SQL-Standard. Siehe http://msdn.microsoft.com/en-us/library/ ms191270.aspx für weitere Informationen.