sql >> Database teknologi >  >> RDS >> Sqlserver

NULL-værdier inde i NOT IN-sætningen

Forespørgsel A er det samme som:

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

Siden 3 = 3 er sandt, får du et resultat.

Forespørgsel B er det samme som:

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

Når ansi_nulls er tændt, 3 <> null er UNKNOWN, så prædikatet evalueres til UNKNOWN, og du får ingen rækker.

Når ansi_nulls er slået fra, 3 <> null er sandt, så prædikatet evalueres til sandt, og du får en række.



  1. Sådan returneres alle deaktiverede udenlandske nøglebegrænsninger i SQL Server (T-SQL-eksempel)

  2. Bindestreger i kolonnenavne i MySQL DB

  3. Optimering af MySQL-søgning ved hjælp af like og jokertegn

  4. Hvordan dropper man flere intervalpartitioner baseret på dato?