A função IIF() do SQL Server tem três parâmetros. A função IIF() julga ou avalia o primeiro parâmetro e retorna o segundo se o primeiro parâmetro for verdadeiro; caso contrário, retorna o terceiro parâmetro. Função IIF() utilizada no SQL Server para adicionar lógica if-else às consultas.>
Syntax :
IIF(boolean_value, true_value, false_value)
Parametros utilizados em Syntax:
ul>
É um valor a ser julgado. Tem de ser um valor booleano válido, ou a função irá levantar um erro.
li> verdadeiro_valor –
É o valor a ser resultado se o valor booleano_valor for verdadeiro.li> falso_valor –
É o valor a ser resultado se o valor booleano_valor for falso. p>Facto a saber: A função IIF() é semelhante a uma expressão CASE –
CASE WHEN boolean_expression THEN true_value ELSE false_valueEND
Exemplo-1 :
Para usar a função IIF() para verificar se 40 60 :
>br>
SELECT IIF(40 < 60, 'True', 'False') AS Result ;
Eliminar :
br>>>th>>Resultado>>br>>>p>VERDADEbr>>p> Deixe-nos assumir que temos abaixo uma tabela de amostras chamada “Geektable”:
G_id | |
---|---|
1 | 3 |
2 | |
3 | 4 |
4 | 2 |
6 | 1 |
7 | 2 |
8 | 1 |
9 | |
4 | |
12 | 3 |
1 | |
14 | 3 |
Exemplo-2 :
Para usar a função IIF() com coluna de tabela.
Below example usa a função IIF()dentro das funções IIF():
SELECT IIF(G_status = 1, ‘Waiting’, IIF(G_status=2, ‘InProgress’, IIF(G_status=3, ‘Rejected’, IIF(G_status=4, ‘Completed’) ) ) ) AS Status, COUNT(G_id) AS CountFROM GeektableGROUP BY G_status ;
Output :
Status | |
---|---|
Waiting | 4 |
InProgress | 3 |
Rejeitado | 4 |
Completed | 3 |
Exemplo-3 :
Para usar a função IIF() com funções agregadas.
Below example usa a função IIF()com a função SUM():
SELECT SUM(IIF(G_status = 1, 1, 0)) AS ‘Waiting’, SUM(IIF(G_status = 2, 1, 0)) AS ‘InProgress’, SUM(IIF(G_status = 3, 1, 0)) AS ‘Rejected’, SUM(IIF(G_status = 4, 1, 0)) AS ‘Completed’, COUNT(*) AS TotalFROM Geektable;
Saída :
Aqui, a função IIF() resulta 1 ou 0 se o estado for igualado. A função SUM() resulta o número de cada estado.
Completed | ||||
---|---|---|---|---|
4 | 3 | 4 | 3 | 15 |