a função SQL IIF é a nova função lógica incorporada introduzida no servidor SQL 2012. Podemos considerar o SQL Server IIF como a forma abreviada de escrever se não, e declarações de caso.

SQL Server IIF function will accept three arguments. O primeiro argumento é a expressão booleana, que retorna verdadeiro ou falso. Se a expressão IIF resultar verdadeira, então o segundo argumento será devolvido como resultado. Caso contrário, o terceiro argumento retornará como saída., Vamos ver a sintaxe do SQL Server função IIF:

SQL IIF Lógica Sintaxe da Função:

A sintaxe do IIF no SQL Server é o seguinte:

IIF (Boolean_Expression, True_Value, Flase_Value)

Se a expressão Booleana (ou condição de teste) é verdadeiro, então ele vai voltar True_Value. E se for falso, então False_Value será devolvido.

SQL IIF Comparação de dois números inteiros

Este exemplo irá mostrar a você a funcionalidade de trabalho da função IIF no SQL Server

SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;

a Partir da imagem abaixo, você pode observar que a Condição dentro da função IIF (i.e.,, 10 > 5) é verdade. Assim, a primeira instrução (ou segundo argumento) devolvido como resultado, o que é VERDADEIRO

SQL IIF Comparar duas variáveis integer

neste exemplo, vamos usar a função IIF para descobrir se a pessoa é elegível para votar ou não.

da imagem abaixo pode observar que,

  • dentro da primeira instrução selecionada, a condição dentro da função IIF (ou seja, 12 > 18) é falsa., Assim, a segunda declaração (ou terceiro argumento) retornada como saída
  • dentro da segunda instrução selecionada, condição dentro da função IIF (i.e., 34 > 18) é verdadeira. Assim, a primeira instrução (ou segundo argumento) devolvido como saída

SQL IIF Comparar duas cadeias de caracteres

neste exemplo, vamos usar o SQL Server função IIF para comparar os dados de seqüência de caracteres. Aqui, usamos o ‘ % ‘ wildcard dentro da segunda instrução SELECT., Por isso, sugiro que consulte o artigo SQL no servidor SQL para mais referências.

SQL Aninhadas IIF exemplo

neste exemplo, vamos usar o Sql Server Aninhadas função IIF para descobrir se a pessoa é elegível para trabalhar ou não.

  1. primeiramente, declaramos uma variável inteira chamada @age e atribuímos algum valor.
  2. dentro da função IIF (), a primeira condição verifica se a idade é menor que 18., Se esta condição for verdadeira, então retornará a primeira declaração (ou segundo argumento) após a vírgula, Que É você é muito jovem para trabalhar
  3. Quando a primeira condição falha, retorna a segunda declaração (ou terceiro argumento). Usando o servidor SQL aninhado IIF, estamos verificando mais uma condição aqui (@age >= 18 e @age <= 60)., Se esta condição for verdadeira, então ele retorna primeiro valor após a vírgula, Que É você é elegível para trabalhar
  4. Se a condição aninhada falhar, ele irá executar o valor no terceiro argumento, que é você é muito velho para trabalhar.,

SAÍDA 1: Idade = 12

Idade = 32

Idade = 65

SQL IIF Trabalhando com valores NULOS

seria melhor se você fosse cuidado enquanto você estiver trabalhando com valores NULOS dentro da função IIF. A seguir uma série de exemplos irá ajudá-lo a compreender as consequências.,

SELECT IIF(10 > 5, NULL, NULL) AS Result;

a Partir da imagem acima, você pode observar que ele está jogando um erro. Dizendo que pelo menos uma das expressões do resultado (i.e., segundo ou terceiro argumento após a expressão do Boolean_Expression) deve ser uma expressão diferente da constante nula., Vamos alterá-los de forma adequada e consulte

SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;

SQL IIF valores NULOS Opção 2

Nós podemos superar os erros que ocorreram pelo NULO constantes em função IIF usando os parâmetros.

DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;

IIF tipo de Dados com a precedência mais alta

A função IIF vai retornar o tipo de dados com a precedência mais alta., A partir do exemplo seguinte, o resultado será o terceiro argumento (isto é, 100) do tipo inteiro, mas o resultado está exibindo 100,00. Porque a função IIF retornará o tipo de dados de precedência mais elevado.

SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;

por Favor, referir-SE Mais e CASOS de Declaração de artigos.

Articles

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *