我正在尝试使用Not In和布尔变量来确定是否在集合中搜索某些内容。例如:
Select
BLAH
FROM
BLAH
WHERE
...
AND CASE WHEN @variable = 'false' THEN
warningcode1 NOT IN (101,102,103)
答案 0 :(得分:2)
试试这个
Select
BLAH
FROM
BLAH
WHERE
...
AND (@variable <> 'false' OR warningcode1 NOT IN (101,102,103))
答案 1 :(得分:2)
只需使用:
AND (@variable <> 'false' OR warningcode1 NOT IN (101,102,103))
因此,仅当变量='false'时,warningcode1才有意义,否则它将被忽略。
答案 2 :(得分:0)
尝试使用if
AND IF( @variable = 'false' , warningcode1 NOT IN (101,102,103) , warningcode1 IN (101,102,103) )