Vì vậy, tôi có một câu hỏi đơn giản mà trả về một danh sách các sản phẩmSQL Và NULL Giá trị trong mệnh đề where
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
này trả
010-00749-01 00000000-0000-0000-0000-000000000000
010-00749-01 NULL
nào là chính xác, vì vậy tôi muốn chỉ các sản phẩm có CategoryID không phải là '00000000-0000-0000-0000-000000000000' vì vậy tôi có
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
AND (CategoryID <> '00000000-0000-0000-0000-000000000000')
Nhưng điều này không trả về kết quả. Vì vậy, tôi đã thay đổi truy vấn để
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
AND ((CategoryID <> '00000000-0000-0000-0000-000000000000') OR (CategoryID IS NULL))
trả về kết quả dự kiến
010-00749-01 NULL
Ai đó có thể giải thích hành vi này đối với tôi? MS SQL Server 2008
bài viết trên wiki khá tốt khi giải thích NULL - http://en.wikipedia.org/wiki/Null_%28SQL%29 –
@Russ Cam - bạn nên đăng câu trả lời này ... – veljkoz
Tôi cảm thấy nó đã được nhiều hơn một câu trả lời lmgtfy :) –