SQLite COALESCE

Resumo : neste tutorial, você aprenderá como usar a função SQLite COALESCE para lidar com valores nulos.

Introdução à função SQLite COALESCE

A função COALESCE aceita dois ou mais argumentos e retorna o primeiro argumento não nulo. O seguinte ilustra a sintaxe da função COALESCE:

COALESCE(parameter1,parameter2, …);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Se todos os argumentos forem NULL, a função COALESCE retornará NULL.

A função COALESCE é equivalente à função NVL no Oracle ou à função IFNULL no MySQL.

Veja os seguintes exemplos básicos:

SELECT COALESCE(10,20); -- return 10
SELECT COALESCE(NULL,20,10); -- returns 20Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Na prática, a função COALESCE é usada para substituir um valor padrão por um valor NULL.

Exemplos de SQLite COALESCE

Consulte a tabela de clientes a seguir no banco de dados de amostra .

mesa de clientes

A consulta a seguir retorna o nome, o sobrenome e a empresa dos clientes.

SELECT firstname,
       lastname,
       company
  FROM customers
 ORDER BY firstname;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Dados de clientes SQLite COALESCE

Na customerstabela, as informações da empresa do cliente, que não possui empresa, são armazenadas como valores NULOS.

Você pode usar a função COALESCE para substituir o valor NULL por outro valor, por exemplo, individual como a seguinte consulta:

SELECT firstname,
       lastname,
       coalesce(company, 'Individual') entity
  FROM customers
 ORDER BY firstname;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo SQLite COALESCE

Vejamos outro exemplo que comumente vemos em cenários reais.

Primeiro, cria uma nova tabela chamada membershipsque armazena o nome do programa, o preço líquido e o desconto.

CREATE TABLE IF NOT EXISTS memberships (
    membership_id INT     PRIMARY KEY,
    program_name  TEXT    NOT NULL,
    net_price     NUMERIC NOT NULL,
    discount      NUMERIC
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, insira alguns dados de amostra na tabela de associações; use o valor NULL para a adesão que não tem desconto.

INSERT INTO memberships(program_name, net_price, discount)
VALUES('1 Month', 100, null),
      ('3 Months', 300, 10),
      ('6 Months', 600, 30);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, consulte os dados da membershipstabela; calcule o valor que os membros devem pagar subtraindo o desconto do preço líquido.

SELECT program_name,
       (net_price - discount) AS amount
  FROM memberships;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de expressão SQLite COALESCE

O valor da assinatura de 1 mês é NULL porque o valor do desconto é NULL. Para evitar esse erro, use a função COALESCE da seguinte maneira:

SELECT program_name,
       (net_price - coalesce(discount, 0) ) AS amount
  FROM memberships;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Resultado da expressão SQLite COALESCE

Neste tutorial, você aprendeu como usar a função SQLite para manipular valores NULL nos dados.

Deixe um comentário

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