我需要检查三个条件:
if @filter = 1
{
select * from employeestable where rating is not null
}
else if @filter = 2
{
select * from employeestable where rating is null
}
else
{
select * from employeestable
}
我需要使用 case 语句来完成此操作。现在我有超过 30 行查询,如果我使用案例,我可以减少我的代码高达 70%
请让我知道我该怎么做。
最佳答案
这个怎么样?
WHERE (@filter = 1 AND rating IS NOT NULL)
OR (@filter = 2 AND rating IS NULL)
OR (@filter <> 1 AND @filter <> 2)
关于sql-server-2005 - where 子句中的 switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810628/