Подтвердить что ты не робот

Существует ли троичный условный оператор в T-SQL?

Какие есть альтернативы для реализации следующего запроса:

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

Ответ 1

Используйте case:

select *
from table
where isExternal = case @type when 2 then 1 else 0 end

Ответ 2

В SQL Server 2012 вы можете использовать функцию IIF:

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

Также обратите внимание: в T-SQL оператор присваивания (и сравнения) просто = (а не == - это С#)