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.