[sql-server] T-SQL에 삼항 조건 연산자가 있습니까?

다음 쿼리를 구현하는 대안은 무엇입니까?

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



답변

사용 case:

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


답변

SQL Server 2012 에서는 다음 IIF함수를 사용할 수 있습니다 .

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

또한 참고 : T-SQL에서 할당 (및 비교) 연산자는 C #이 =아닙니다.==


답변