Существует ли троичный условный оператор в T-SQL? Какие есть альтернативы для реализации следующего запроса: select * from table where isExternal = @type = 2 ? 1 : 0 Ответ 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 оператор присваивания (и сравнения) просто = (а не == - это С#)
Ответ 2 В SQL Server 2012 вы можете использовать функцию IIF: SELECT * FROM table WHERE isExternal = IIF(@type = 2, 1, 0) Также обратите внимание: в T-SQL оператор присваивания (и сравнения) просто = (а не == - это С#)