136

实现以下查询的替代方法是什么:

select *  
from table  
where isExternal = @type = 2 ? 1 : 0
4

2 回答 2

193

在 SQL Server 2012中,您可以使用以下IIF功能

SELECT *
FROM table
WHERE isExternal = IIF(@type = 2, 1, 0)

另请注意:在 T-SQL 中,赋值(和比较)运算符只是=(而不是==- 那是 C#)

于 2013-04-25T08:35:06.207 回答
142

使用case

select *
from table
where isExternal = case @type when 2 then 1 else 0 end
于 2013-04-25T08:22:36.420 回答