単一のWHERE
を使用してこれを解決する方法は次のとおりです。 条項:
WHERE (@myParm = value1 AND MyColumn IS NULL)
OR (@myParm = value2 AND MyColumn IS NOT NULL)
OR (@myParm = value3)
CASEステートメントのナイーブな使用法は機能しません 、これは次のことを意味します:
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
caseステートメントを使用してこれを解決することは可能です。onedaywhenの回答を参照してください