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