Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

NULL стойности в клаузата NOT IN

Заявка А е същата като:

select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null

Тъй като 3 = 3 е вярно, получавате резултат.

Заявка Б е същата като:

select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null

Когато ansi_nulls е включено, 3 <> null е UNKNOWN, така че предикатът се оценява на UNKNOWN и не получавате никакви редове.

Когато ansi_nulls е изключено, 3 <> null е вярно, така че предикатът се оценява на истина и получавате ред.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията DIFFERENCE() на SQL Server

  2. Изпълнете sp_mforeachdb в Java приложение

  3. Какво е името на ограничението по подразбиране в SQL Server?

  4. Не може да се влезе в SQL Server + SQL Server Удостоверяване + Грешка:18456

  5. Atomic UPSERT в SQL Server 2005