Ao manipular dados em SQL, é importante realizar operações específicas em valores NULL. Usando declarações CASE, torna-se possível especificar condições para valores NULL, permitindo uma manipulação de dados flexível. Este artigo explica como lidar com valores NULL usando declarações CASE em SQL com exemplos concretos.
Estrutura Básica das Declarações CASE
A declaração CASE é uma estrutura de controle em SQL que pode retornar diferentes resultados com base em condições especificadas. A sintaxe básica é a seguinte:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
Nessa sintaxe, o result
correspondente é retornado quando cada condition
é atendida. Se nenhuma das condições for atendida, o resultado da cláusula ELSE
é retornado. Usando declarações CASE, ramificações condicionais complexas podem ser implementadas em consultas SQL.
Como Especificar Valores NULL
Para especificar valores NULL como condições, use IS NULL
na expressão de condição. É importante distinguir valores NULL, pois indicam a ausência de dados específicos. A sintaxe a seguir demonstra como retornar um valor específico quando a coluna column_name
é NULL.
CASE
WHEN column_name IS NULL THEN 'Valor se NULL'
ELSE column_name
END
Nessa sintaxe, se column_name
for NULL, 'Valor se NULL'
é retornado, caso contrário, o valor de column_name
é retornado como está. Esse método permite um manuseio adequado dos valores NULL.
Exemplo 1: Definindo Valores Padrão para NULL
Aqui está um exemplo de como definir um endereço de e-mail padrão quando o endereço de e-mail de um cliente é NULL em um banco de dados de clientes. Essa operação ajuda a manter a consistência dos dados.
SELECT
customer_id,
customer_name,
CASE
WHEN email IS NULL THEN 'default@example.com'
ELSE email
END AS email_address
FROM
customers;
Esta consulta seleciona o ID do cliente, nome do cliente e endereço de e-mail da tabela customers
. Se o endereço de e-mail for NULL, 'default@example.com'
é retornado, e se não for NULL, o endereço de e-mail original é retornado. Usando esse método, valores padrão consistentes podem ser definidos para valores NULL.
Exemplo 2: Realizando Operações Diferentes com Base em Valores NULL
Em seguida, vejamos um exemplo de como realizar operações diferentes com base em valores NULL. Por exemplo, em um banco de dados de vendas, se o valor da venda for NULL, ele é exibido como “Não Inserido”; caso contrário, o valor da venda é exibido.
SELECT
sale_id,
product_name,
CASE
WHEN sale_amount IS NULL THEN 'Não Inserido'
ELSE CAST(sale_amount AS VARCHAR)
END AS sale_status
FROM
sales;
Esta consulta seleciona o ID da venda, nome do produto e status da venda da tabela sales
. Se o sale_amount
for NULL, ele é exibido como “Não Inserido”, e se não for NULL, o valor da venda é exibido como uma string. Esse método permite um manuseio adequado dos valores NULL e melhora a legibilidade dos dados.
Conclusão
Explicamos como lidar com valores NULL usando declarações CASE em SQL. Usando IS NULL
ao especificar valores NULL como condições, é possível definir valores padrão apropriados ou realizar operações diferentes. Isso permite uma manipulação de dados flexível, mantendo a consistência e a legibilidade dos dados. Ao utilizar declarações CASE em operações de banco de dados, você pode aprimorar suas habilidades na criação de consultas mais avançadas.