Funções condicionais

Funções condicionais

Descrição

Exemplo

CASE WHEN

formato Simple CASE

Compara o valor de exp_entrada aos valores de argumentos exp_valor para determinar o resultado.

CASE exp_valor
{WHEN exp_valor THEN resultado...} [ELSE resultado]
END
Copiar
SELECT 
   Invoice_ID, 
   CASE Nome_Empresa
      WHEN 'Exports UK' THEN 'Exports UK Found'
      WHEN 'Home Furniture Suppliers' THEN 'Home Furniture Suppliers Found'
      ELSE 'Neither Exports UK nor Home Furniture Suppliers' 
      END,
   Vendedor_ID
FROM 
   Dados_Venda

formato Searched CASE

Retorna um resultado com base em se a condição especificada pela expressão WHEN é verdadeira.

CASE 
{WHEN >boolean_exp THEN resultado...} [ELSE resultado]
END
Copiar
SELECT 
   Invoice_ID, 
   Amount,
   CASE 
      WHEN Amount > 3000 THEN 'Above 3000'
      WHEN Amount < 1000 THEN 'Below 3000'
   ELSE 'Between 1000 and 3000' 
   END,
   Vendedor_ID
FROM 
   Dados_Venda

COALESCE

Retorna o primeiro valor que não é NULL.

Copiar
SELECT
   Vendedor_ID,
   COALESCE(Gerente_Vendas, Vendedor)
FROM
   Vendedores

NULLIF

Compara dois valores e retorna NULL se os dois valores forem iguais; caso contrário, retorna o primeiro valor.

Copiar
SELECT
   Invoice_ID,
   NULLIF(Amount,  -1),
   Vendedor_ID
FROM
   Dados_Venda