实现以下查询的替代方法有哪些:
select *
from table
where isExternal = @type = 2 ? 1 : 0
答案 0 :(得分:139)
在SQL Server 2012 中,您可以使用IIF
function:
SELECT *
FROM table
WHERE isExternal = IIF(@type = 2, 1, 0)
另请注意:在T-SQL中,赋值(和比较)运算符只是=
(而不是==
- 那就是C#)
答案 1 :(得分:110)
使用case
:
select *
from table
where isExternal = case @type when 2 then 1 else 0 end