2

我想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'

条件的每个实例在哪里@varWHERE不同的。任何帮助表示赞赏。

4

1 回答 1

4

你不需要一个CASE

SELECT * FROM Table1
WHERE
(@var = 1 AND ID = 5) OR
(@var = 2 AND Name = 'Bob') OR
(@var = 3 AND Color = 'Green')
于 2013-07-31T17:17:09.567 回答