SQLite IIF

Resumo : neste tutorial, você aprenderá sobre a IIF()função SQLite que permite adicionar a lógica if-else às consultas.

Visão geral da função SQLite IIF()

SQLite introduziu a IIF()função desde a versão 3.32.0. O seguinte mostra a sintaxe da IIF()função:

IIF(expression, true_expression, false_expression);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe, a IIF()função avalia o expressionprimeiro. Se o resultado for true, a IIF()função retornará o valor da segunda expressão ( true_expression). Caso contrário, retorna o valor da terceira expressão ( false_expression).

A IIF()função é equivalente à seguinte CASEexpressão:

CASE
    WHEN expression
        THEN true_expression
    ELSE
        false_expression
END   Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Na prática, você usa a IIF()função para adicionar a lógica if-else às consultas para formar consultas mais flexíveis.

Exemplos de funções SQLite IIF()

Vejamos alguns exemplos de IIF()função SQLite.

1) Exemplo de função SQLite IIF() simples

A consulta a seguir ilustra como usar a IIF()função em uma instrução simples SELECT:

SELECT IIF(1 < 2, 'Yes', 'No' ) result;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

result
----------
yes
Linguagem de código:  Sessão Shell  ( shell )

2) Usando a função SQLite IIF() para classificar informações

Consulte a trackstabela a seguir do banco de dados de amostra:

A instrução a seguir usa a IIF()função para classificar trilhas na tabela de trilhas por seus comprimentos:

SELECT 
    name,
    milliseconds,
    IIF(milliseconds <= 300000, 'Short',
        IIF(milliseconds > 300000 AND milliseconds <= 600000, 'Medium',
            IIF(milliseconds > 600000, 'Long','N/A')
        )
    )
FROM
    tracks;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, você aprendeu como usar a IIF()função SQLite para adicionar lógica if-else à consulta.

Deixe um comentário

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