Đây là cách bạn có thể giải quyết vấn đề này bằng cách sử dụng một WHERE
duy nhất mệnh đề:
WHERE (@myParm = value1 AND MyColumn IS NULL)
OR (@myParm = value2 AND MyColumn IS NOT NULL)
OR (@myParm = value3)
Cách sử dụng câu lệnh CASE ngây thơ không hoạt động , ý tôi là như sau:
SELECT Field1, Field2 FROM MyTable
WHERE CASE @myParam
WHEN value1 THEN MyColumn IS NULL
WHEN value2 THEN MyColumn IS NOT NULL
WHEN value3 THEN TRUE
END
Có thể giải quyết vấn đề này bằng cách sử dụng một câu lệnh tình huống, hãy xem câu trả lời của onedaywhen