sql >> Databasteknik >  >> RDS >> Sqlserver

NULL-värden i NOT IN-satsen

Fråga A är samma som:

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

Eftersom 3 = 3 är sant, du får ett resultat.

Fråga B är samma som:

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

När ansi_nulls är på, 3 <> null är OKÄNT, så predikatet utvärderas till OKÄNT, och du får inga rader.

När ansi_nulls är avstängd, 3 <> null är sant, så predikatet utvärderas till sant, och du får en rad.



  1. Hur man anropar proceduren utan parameter som tabelltyp från en Java-klass

  2. Transponera utvalda resultat med Oracle

  3. MySQL-fel:nyckelspecifikation utan nyckellängd

  4. 3 sätt att använda ALLT i SQL Server