최근 IIF
에 SQL Server 2012 의 기능 가용성에 대해 알게 되었습니다. 저는 항상 CASE
쿼리에 중첩 을 사용 합니다. IIF
문장 의 정확한 목적 과 쿼리에서 Statement IIF
보다 사용하는 것을 선호해야하는시기 를 알고 싶습니다 CASE
. 나는 주로 CASE
내 쿼리에 중첩 을 사용 합니다.
모든 입력에 감사드립니다.
최근 IIF
에 SQL Server 2012 의 기능 가용성에 대해 알게 되었습니다. 저는 항상 CASE
쿼리에 중첩 을 사용 합니다. IIF
문장 의 정확한 목적 과 쿼리에서 Statement IIF
보다 사용하는 것을 선호해야하는시기 를 알고 싶습니다 CASE
. 나는 주로 CASE
내 쿼리에 중첩 을 사용 합니다.
모든 입력에 감사드립니다.
답변:
IIF
와 동일합니다 CASE WHEN <Condition> THEN <true part> ELSE <false part> END
. 쿼리 계획은 동일합니다. 아마도 처음에 구현 된 "구문 적 설탕"일 것입니다.
CASE는 모든 SQL 플랫폼에서 이식 가능하지만 IIF는 SQL SERVER 2012+에만 해당됩니다.
IIF는 비표준 T-SQL 함수입니다. SQL SERVER 2012에 추가되었으므로 Access는 IIF를 CASE로 미리 리팩토링하지 않고도 SQL Server로 마이그레이션 할 수 있습니다. Access db가 SQL Server로 완전히 마이그레이션되면 리팩터링 할 수 있습니다.