when w3schools multiple ejemplos choose sql-server-2012 case iif

sql-server-2012 - w3schools - sql iif null



SQL Server IIF contra CASE (2)

Recientemente llegué a conocer la disponibilidad de la función IIF en SQL Server 2012. Siempre utilizo CASE anidado en mis consultas. Quiero saber el propósito exacto de la declaración IIF y cuándo deberíamos preferir usar IIF sobre CASE Statement en la consulta. Uso mayoritariamente CASE anidado en mis consultas.

Gracias por todas las entradas.


IIF es lo mismo que CASE WHEN <Condition> THEN <true part> ELSE <false part> END . El plan de consulta será el mismo. Es, tal vez, "azúcar sintáctica" como se implementó inicialmente.

CASE es portátil en todas las plataformas SQL, mientras que IIF es SQL SERVER 2012+ específico.


IIF es una función T-SQL no estándar. Se agregó a SQL Server 2012, para que Access pueda migrar a SQL Server sin refactorizar los IIF a CASE de antemano. Una vez que Access db se migra completamente a SQL Server, puede refactorizar.