是否可以在WHERE子句的case语句中添加IN,如下所示:
WHERE
CASE WHEN @id IN(1,2) THEN ...
CASE WHEN @id IN(3,4) THEN...
我遇到语法错误...然后尝试删除IN添加OR,如下所示:
CASE WHEN @id = 1 OR @id = 2 THEN ...
CASE WHEN @id = 3 OR @id = 4 THEN ...
它起作用....但只是出于好奇我想知道我们是否可以使用IN ...... 请帮忙
答案 0 :(得分:1)
您需要进一步解释。这绝对是有效的语法:
DECLARE @id int = 1
SELECT 'Foo'
WHERE 1 = CASE WHEN @id IN (1,3) THEN 1
ELSE 0
END
THEN
声明中包含哪些内容?
答案 1 :(得分:0)
您可能会尝试将条件放在括号中,例如:
( @id IN(1,2) )