【发布时间】:2018-09-11 18:05:55
【问题描述】:
我已经看到这个链接来找到我的问题的解决方案:
但是,在我的情况下,我需要评估当参数具有特定值时,它会评估一个字段是否为空,例如:
WHERE (CASE @parameter WHEN 1 THEN a.fieldOne IS NULL ELSE a.fieldOne IS NOT NULL END)
但这对我不起作用...
编辑 1
例如当@parameter = 1
SELECT * FROM
FROM exampleTable as s
WHERE (s.fieldOne IS NULL)
当@parameter = 0
SELECT * FROM
FROM exampleTable as s
WHERE (s.fieldOne IS NOT NULL)
【问题讨论】:
-
你能解释一下“不起作用”吗?你想用
ELSE a.fieldOne IS NOT NULL实现什么。CASE表达式返回一个标量值。 -
你想得到什么输出?
fieldOne IS NULL是条件测试,不是输出值。
标签: sql sql-server case where