Recientemente llegué a conocer la disponibilidad de IIF
funciones en SQL Server 2012. Siempre uso anidado CASE
en mis consultas. Quiero saber el propósito exacto de la IIF
declaración y cuándo deberíamos preferir usar IIF
en lugar de CASE
Declaración en la consulta. Principalmente uso anidado CASE
en mis consultas.
Gracias por todas las entradas.
sql-server
sql-server-2012
case
iif
neófito
fuente
fuente
Respuestas:
IIF
es lo mismo queCASE WHEN <Condition> THEN <true part> ELSE <false part> END
. El plan de consulta será el mismo. Es, quizás, "azúcar sintáctico" como se implementó inicialmente.CASE es portátil en todas las plataformas SQL, mientras que IIF es específico para SQL SERVER 2012+.
fuente
IIF es una función de T-SQL no estándar. Se agregó a SQL SERVER 2012, para que Access pudiera migrar a SQL Server sin refactorizar los IIF a CASE de antemano. Una vez que la base de datos de Access se haya migrado por completo a SQL Server, puede refactorizar.
fuente