Hãy coi giá trị rỗng là "không xác định" trong trường hợp đó (hoặc "không tồn tại"). Trong một trong hai trường hợp đó, bạn không thể nói rằng chúng bằng nhau, bởi vì bạn không biết giá trị của một trong hai. Vì vậy, null =null đánh giá là không đúng (sai hoặc null, tùy thuộc vào hệ thống của bạn), bởi vì bạn không biết các giá trị để nói rằng chúng là bằng nhau. Hành vi này được định nghĩa trong tiêu chuẩn ANSI SQL-92.
CHỈNH SỬA:Điều này phụ thuộc vào cài đặt ansi_nulls của bạn. nếu bạn tắt ANSI_NULLS, điều này SẼ đánh giá thành true. Chạy đoạn mã sau để làm ví dụ ...
set ansi_nulls off
if null = null
print 'true'
else
print 'false'
set ansi_nulls ON
if null = null
print 'true'
else
print 'false'