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

Warum löst WHERE Spalte =NULL keinen Fehler in SQL Server aus?

Das liegt daran, dass eine NULL mit keinem Wert gleichgesetzt werden kann.

Deaktivieren Sie die Option ANSI_NULLS und führen Sie sie dann aus. Sie sehen jetzt die Zeile:

SET ANSI_NULLS OFF
select * from #foo --returns the one record we just created  
select * from #foo where colA = null --does not throw an error and does not return a record! why?? 
select * from #foo where colA is null --returns the record  drop table #foo