SQL Server 2012 “Denali” CTP3 – Novas funções: IIF e CHOOSE

Quando vi no “Books Online” as funções IIF e CHOOSE para o SQL Server Denali CTP3, pensei de imediato que finalmente será possível substituir alguns “CASE WHEN THEN END” para algo mais limpo!

Mas antes de pensar em IIF() e CHOOSE(), um lembrete extremamente importante: ISNULL(), NULLIF() e CASE WHEN não morreram no SQL Server Denali, Amen!

Função IIF

Para mostrar como o código ficou mais limpo com IIF, abaixo exemplos da utilização do CASE e a mesma lógica com IIF:

Mas isso não quer dizer que as expressões ficaram restritas com IIF, exemplo:

(Os exemplos com EXISTS e COLLATE ficaram bizarros…)

Função CHOOSE

Também temos exemplos de código mais limpo com o uso de CHOOSE ao invés do tradicional CASE:

Note que assim como na utilização do CASE, o CHOOSE retorna NULL quando não existe uma alternativa válida como resultado:

Mas como não contamos com um ELSE na função CHOOSE, temos que utilizar um ISNULL para retornar um valor padrão nas situações que não possuem alternativa válida:

Recomendação

Por fim, não comece a substituir CASE e as funções ISNULL, NULLIF por CHOOSE e IIF só porque “fica mais bonito”.

Um pensamento sobre “SQL Server 2012 “Denali” CTP3 – Novas funções: IIF e CHOOSE

  1. Pingback: SQL Server Denali CTP 3 – Resumo « SQL From Hell.com

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s