Recentemente, fiquei sabendo da disponibilidade de IIF
função no SQL Server 2012. Sempre uso aninhado CASE
em minhas consultas. Quero saber o propósito exato da IIF
instrução e quando devemos preferir usar IIF
a CASE
instrução na consulta. Eu uso principalmente aninhado CASE
em minhas consultas.
Obrigado por todas as entradas.
sql-server
sql-server-2012
case
iif
neófito
fonte
fonte
Respostas:
IIF
é o mesmo queCASE WHEN <Condition> THEN <true part> ELSE <false part> END
. O plano de consulta será o mesmo. É, talvez, "açúcar sintático", conforme implementado inicialmente.CASE é portátil em todas as plataformas SQL, enquanto o IIF é específico do SQL SERVER 2012+.
fonte
IIF é uma função T-SQL não padrão. Ele foi adicionado ao SQL SERVER 2012, para que o Access pudesse migrar para o SQL Server sem refatorar os IIFs para CASE de antemão. Depois que o banco de dados do Access é totalmente migrado para o SQL Server, você pode refatorar.
fonte