SQL Server 2012: IIF

Olá pessoal,

No SQL Server 2012, possuímos uma nova função chamada de IIF. Essa função tem o seu proposito bastante simples que é: Retornar um valor dentro de uma cadeia de dois valores que dependendo da expressão avaliada pode ser retornada como verdadeira ou falsa.

Atualmente no SQL Server 2008 possuímos a função IF que apenas realiza uma determinada validação que foi proposta e dependendo da validação pode entrar dentro de uma batch ou não de consultas. A grande diferença entre as duas é que com o IIF do SQL Server 2012 é que dois valores podem ser especificados, mas apenas um único valor será retornado como resultado, já o IF que possuímos no SQL Server 2008 e ainda possuímos no SQL Server 2012 valida uma determinada condição e pode retornar ou não resultado ou pode executar uma ou mais linhas de código.

Vamos então a demonstração.

A expressão IIF é denominada pela seguinte sintaxe.

IIF (Expressão Booleana, Valor Verdadeiro, Valor Falso)

logo poderíamos realizar algo do tipo.

SELECT IIF(‘MARCOS’ = ‘FRECCIA’,'TRUE’,'FALSE’)

image

Como podemos ver, aqui também é possível realizar a verificação entre valores texto, e o resultado não necessariamente necessita ser um valor texto, podendo ser números.

SELECT IIF(‘MARCOS’ = ‘FRECCIAs’,0,1)

image

Ou ainda podemos criar algo mais personalizado.

declare @Expressao1 varchar(30) = ‘SQL Server 2008 R2′
declare @Expressao2 varchar(30) = ‘SQL Server 2012′

select IIF(@Expressao1 = @Expressao2, ‘Os Valores Comparados’ + QUOTENAME(@Expressao1) + ‘ e ‘ + QUOTENAME(@Expressao2)
+ ‘ são iguais’,'Os Valores Comparados ‘ + QUOTENAME(@Expressao1) + ‘ e ‘ + QUOTENAME(@Expressao2) + ‘ são diferentes’)

image

Como podem ver pessoal, podemos trabalhar com diversos tipos de dados, onde não importa ser estamos comparando valores texto e retornando valores numéricos para a tela.

O que eu tinha para mostrar para vocês era isso. Espero que tenham gostado.

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

About these ads

Sobre Marcos Freccia

Especialista em SQL Server.

Publicado em agosto 1, 2012, em Desenvolvimento, SQL Server 2012, VirtualPass e marcado como , . Adicione o link aos favoritos. 1 Comentário.

Deixe uma resposta

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

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s

%d bloggers like this: