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.