我想在CASE WHEN
子句中使用一些WHERE
语句,以根据特定变量允许不同的WHERE
条件。我知道它是怎么样的,但我不知道它是否可能或使用什么语法。
我希望它可以这样使用:
SELECT * FROM Table1
WHERE
CASE WHEN @var = 1 THEN ID = 5 END,
CASE WHEN @var = 2 THEN Name = 'Bob' END,
CASE WHEN @var = 3 THEN Color = 'Green'
@var
WHERE
条件的每个实例的位置不同。任何帮助表示赞赏。
答案 0 :(得分:4)
您不需要CASE
:
SELECT * FROM Table1
WHERE
(@var = 1 AND ID = 5) OR
(@var = 2 AND Name = 'Bob') OR
(@var = 3 AND Color = 'Green')