Đây thực sự là một lỗi thường gặp với SQL Server khi coi NULL như một giá trị. Theo mặc định, nó được coi là UNKNOWN, như được ghi lại tại đây
. Vì vậy, theo quan điểm của bạn, bạn cũng cần bao gồm OR t1.[Column1] IS NULL
.
Bạn có thể thay đổi hành vi này bằng cách gọi SET ANSI_NULLS OFF
. Tuy nhiên, bạn không nên sử dụng tính năng này vì tính năng này không được dùng nữa như đã được chỉ ra bởi @Martin Smith.
Tuy nhiên, đây không phải là vấn đề cụ thể của SQL Server. Đây là một phần của tiêu chuẩn ANSI SQL .