Una funzione (introdotta in SQL Server 2012) è la funzione IIF (anche nota come “immediate IF”)
Sostanzialmente la funzione IIF restituisce una espressione scelta tra due possibili valori, a seconda che un “test” logico sia VERO o FALSO.
Non è certo una funzione nuova, esiste in molti linguaggi e applicativi (ad esempio, in Access esiste da sempre, e in Excel abbiamo la funzione “SE” che si comporta allo stesso modo).
La logica della funzione IIF può essere schematizzata come segue (tratto da MSDN di Microsoft)
boolean_expression è una espressione valida Boolean (ad esempio @a > @b, PrezzoUnitario*Quantità>1000…)
true_value è il valore o espressione da retituire se boolean_expression è VERA (es. 100, @p)
false_value è invece il valore o espressione da retituire se boolean_expression è FALSA
La funzione, come vedete, è molto semplice, e rimpiazza in maniera molto efficace la funzione CASE, ed in effetti viene “tradotta” da SQL Server in una CASE