Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego kolumna WHERE =NULL nie zgłasza błędu w programie SQL Server?

Dzieje się tak dlatego, że NULL nie może być zrównany z żadną wartością.

Wyłącz opcję ANSI_NULLS, a następnie uruchom ją, zobaczysz teraz wiersz:

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 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oświadczenie się skończyło. Maksymalna rekurencja 100 została wyczerpana przed zakończeniem instrukcji

  2. Symulowanie funkcji group_concat MySQL w Microsoft SQL Server 2005?

  3. Mapowanie punktów geoprzestrzennych w płynnym NHibernate

  4. Jak zaktualizować dużą tabelę z milionami wierszy w SQL Server?

  5. Jak formatować liczby przecinkami w SQL Server