Truy vấn A giống như:
select 'true' where 3 = 1 or 3 = 2 or 3 = 3 or 3 = null
Kể từ 3 = 3
là đúng, bạn sẽ nhận được một kết quả.
Truy vấn B giống như:
select 'true' where 3 <> 1 and 3 <> 2 and 3 <> null
Khi ansi_nulls
đang bật, 3 <> null
là UNKNOWN, vì vậy vị từ đánh giá là UNKNOWN và bạn không nhận được bất kỳ hàng nào.
Khi ansi_nulls
tắt, 3 <> null
là true, vì vậy vị từ đánh giá là true và bạn nhận được một hàng.