Vraag A is hetzelfde als:
select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null
Sinds 3 = 3
waar is, krijg je een resultaat.
Vraag B is hetzelfde als:
select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null
Wanneer ansi_nulls
is aan, 3 <> null
is UNKNOWN, dus het predikaat evalueert naar UNKNOWN, en u krijgt geen rijen.
Wanneer ansi_nulls
is uit, 3 <> null
is waar, dus het predikaat evalueert waar, en je krijgt een rij.