我正在使用以下查询。在这个查询中,我想根据传递的参数应用where子句。但问题是,where子句是像“值=如果parameterVal =‘我’比其他NULL NOT NULL”在SQL中声明时的情况
我已经建立这样
SELECT * FROM MASTER
WHERE
Column1 IS (CASE WHEN :Filter = 'I' THEN 'NULL' ELSE 'NOT NULL' END)
查询,但它不工作。帮我解决这个问题。
UPDATE
更新的问题更清楚地阐述问题。
我有一个表MASTER。现在,我在查询中传递一个参数Filter(表示为:Filter in query)。
现在当Filter参数的值为'I'时,它应该返回以下结果。
SELECT * FROM MASTER WHERE Column1 IS NULL
但如果传递的参数不等于“我”不是,
SELECT * FROM MASTER WHERE Column1 IS NOT NULL
感谢您的回答。这并没有按预期返回结果。为了进一步说明,我更新了问题。 – 2014-08-31 16:31:34
现在看看我已经更新了答案。你应该已经掌握了从以前的解决方案的主要想法,这真的不是这个难:) – 2014-08-31 16:40:24
我应该有,但我没有得到它:)。非常感谢你的回答和你的时间。 – 2014-09-01 03:43:50