Mọi RDBMS nửa vời thực hiện theo cùng một cách, vì nó chính xác .
Tôi đang trích dẫn hướng dẫn sử dụng Postgres tại đây:
Các toán tử so sánh thông thường mang lại giá trị null (biểu thị "không xác định"), nottrue hoặc false, khi một trong hai đầu vào là null. Ví dụ:
7 = NULL
yieldsnull, cũng như7 <> NULL
. Khi hành vi này không phù hợp, hãy sử dụngIS [ NOT ] DISTINCT FROM
cấu trúc:expression IS DISTINCT FROM expression expression IS NOT DISTINCT FROM expression
Lưu ý rằng các biểu thức này hoạt động chậm hơn một chút so với expression <> expression
đơn giản so sánh.
Đối với boolean
giá trị ở đó cũng đơn giản hơn IS NOT [TRUE | FALSE]
.
Để nhận được những gì bạn mong đợi trong truy vấn thứ hai, hãy viết:
SELECT * FROM table WHERE avalue IS NOT TRUE;
SQL Fiddle.