T-SQL中是否有三元条件运算符?

时间:2013-04-25 08:21:08

标签: sql-server tsql

实现以下查询的替代方法有哪些:

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

2 个答案:

答案 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