Função SQL `NVL`: Como substituir valores NULL
A função SQL NVL
, que significa Null Value (valor nulo), é usada para substituir valores NULL, em conjuntos e bancos de dados, por valores mais significativos. Ao fazer isso, você otimiza os seus bancos de dados, melhora a legibilidade de análises e relatórios, e aprimora o desempenho de consultas de busca.
O que é a função SQL NVL
?
Administradores que trabalham regularmente com bancos de dados e que precisam de conjuntos de dados completos para realizar análises conhecem bem o problema desencadeado por valores NULL. Dados ausentes e lacunas podem levar a resultados distorcidos, imprecisões e relatórios inúteis. A solução para valores NULL é a função SQL NVL
(Null-Value Logic), que ajuda a substituir colunas e campos vazios por valores ou cadeias de caracteres mais adequados e personalizados. Isso melhora a qualidade e a utilidade dos dados, aumentando assim a eficácia e o desempenho dos bancos de dados.
Como funciona a função SQL NVL
?
O funcionamento da SQL NVL
é simples: com ela, você define o valor que deseja usar para substituir valores NULL nos resultados desejados. A função verifica os conjuntos de dados selecionados para identificar valores verdadeiros ou falsos e substitui automaticamente os valores NULL encontrados pelas informações desejadas. Valores NULL, em linhas e colunas, geralmente representam dados ausentes. Eles não devem ser confundidos com o valor numérico “0” ou com espaços em branco.
Atenção: A SQL NVL
é principalmente utilizada em bancos de dados ORACLE. No MySQL ou no SQL Server, NVL
foi substituída pela função ISNULL
. Se você deseja substituir valores NULL em bancos de dados no SQL Server e no MS ACCES, use a função ISNULL
. No MySQL, utilize a função IFNULL
ou COALESCE
. O funcionamento de todas elas é idêntico.
Conheça os fundamentos mais importantes e as possíveis aplicações da linguagem de programação de banco de dados SQL, uma das mais usadas do mundo. Nossa introdução ao SQL com exemplos ajuda você a começar a utilizar SQL em códigos.
Diferenças entre SQL NVL
, ISNULL
e IFNULL
Dependendo do tipo de banco de dados, você pode se confundir com as funções SQL NVL
, ISNULL
e IFNULL
. As três são muito semelhantes, mas não são suportadas por todos os bancos de dados e sistemas de gerenciamento de banco de dados. Nosso resumo ajuda você a escolher a função correta para substituir valores NULL.
Sintaxe e parâmetros
As funções SQL NVL
, ISNULL
e IFNULL
exigem dois parâmetros, que chamaremos aqui de “Valor1” e “Valor2”:
- Valor1: Define o conjunto de dados ou a coluna onde valores NULL devem ser substituídos.
- Valor2: Define o valor pelo qual você deseja substituir valores NULL nos resultados. Aqui, você pode inserir valores como “Sem Informação”, “0” ou “Desconhecido” para preencher lacunas e espaços vazios. Observe, a seguir, a sintaxe de cada uma das três funções.
NVL:
ISNULL:
IFNULL:
Essas funções são normalmente usadas em conjunto com SQL SELECT e FROM
, que permitem definir os conjuntos de dados a serem verificados.
Tabela comparativa entre SQL NVL
, ISNULL
e IFNULL
Assim se diferenciam as funções, muito semelhantes, para a substituição de valores NULL:
Função SQL | Tratamento de valores NULL | Compatibilidade |
---|---|---|
SQL NVL
|
Substitui valores NULL encontrados por um valor desejado | Oracle, Db2 |
SQL ISNULL
|
Substitui valores NULL ou cadeias de caracteres vazias por um valor desejado | SQL Server, MySQL, MS ACCESS |
SQL IFNULL
|
Substitui valores NULL por um valor desejado; não considera espaços em branco como valores NULL | MySQL, Google BigQuery |
Para quais aplicações a SQL NVL
é indicada?
A substituição de valores NULL é útil em várias situações, entre elas:
- Substituir dados de clientes ou endereços de entrega ausentes por valores legíveis, como “desconhecido”.
- Substituir saldos ou transações desconhecidas pelo valor numérico 0.
- Substituir valores vazios em dados de pacientes, financeiros ou de produção por valores padrão e médios.
- Substituir avaliações ou feedbacks ausentes por “Sem informação”.
- Trocar imagens ou informações ausentes por “Imagem não disponível” ou “Informações não disponíveis”.
Você quer poder gerenciar dados de forma eficiente, com desempenho confiável, escalabilidade e segurança contra falhas? O SQL Server Hosting da IONOS oferece servidores de hospedagem personalizaveis, com todas essas vantagens.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
Exemplos práticos da função SQL NVL
Para ilustrar o uso das funções SQL NVL
, ISNULL
e IFNULL
, elaboramos o seguinte exemplo: uma tabela de clientes com colunas de endereço, idade e ID do cliente. Queremos substituir possíveis valores NULL na coluna “Endereço” pelo valor “Sem Informação”.
Exemplo de SQL NVL
Exemplo de SQL ISNULL
Exemplo de SQL IFNULL
Alternativas à função SQL NVL
As funções SQL NVL
, ISNULL
e IFNULL
são quase idênticas. No entanto, é importante qual delas é suportada pelo seu banco de dados. Outra alternativa muito semelhante a comandos SQL, operadores SQL e funções SQL é SQL COALESCE. COALESCE
é suportada por quase todas as aplicações de banco de dados e também permite substituir valores NULL por um valor substituto.
A sintaxe também é idêntica: