SQL ISNULL(): Como verificar e substituir valores NULL

A função SQL ISNULL() é utilizada para verificar se uma expressão tem o valor NULL. Se esse for o caso, a função substitui o NULL por um valor de substituição do mesmo tipo de dado.

O que é a função SQL ISNULL()?

Em SQL (Structured Query Language), você pode criar tabelas e preenchê-las com valores. Quando você omite atribuir um valor a um campo dentro da tabela, esse campo permanece vazio, recebendo o valor NULL, que indica que não há um valor real presente. Se você deseja garantir que um valor de substituição seja considerado em vez de NULL, a linguagem oferece a função SQL ISNULL(). Essa função verifica primeiramente se uma expressão é NULL. Se for o caso, ela avalia uma expressão de substituição definida. Caso contrário, o valor original é considerado.

vServer (VPS) da IONOS

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

Sintaxe da função SQL ISNULL()

O funcionamento da função SQL ISNULL() fica claro quando analisamos a sintaxe:

ISNULL(expressão, valor_substituto);
sql

A função primeiro verifica se o valor da expressão especificada é NULL. Se for o caso, o valor substituto é retornado. Caso contrário, a SQL ISNULL() usa a expressão original. É importante observar que “expressão” e “valor_substituto” devem ter o mesmo tipo de dado.

Funcionamento da função SQL ISNULL()

A função SQL ISNULL() é utilizada dentro de um comando SQL como SELECT. Nos exemplos a seguir, você verá primeiro a saída quando o valor da expressão é NULL e depois o outro caso possível. Este é o primeiro código:

SELECT ISNULL(NULL, 'Este é o valor substituto');
sql

A saída seria:

Este é o valor substituto
sql

No próximo exemplo, a função é aplicada novamente, mas desta vez a expressão possui um valor e, portanto, retorna esse valor:

SELECT ISNULL('Este é o valor original', 'Este é o valor substituto');
sql

A saída seria:

Este é o valor original
sql

Portanto, obtemos esta saída:

Este é o valor original
sql

Exemplo prático de SQL ISNULL()

Para o próximo exemplo, criamos uma tabela simples chamada “Pedidos”. Esta tabela contém colunas para o número do cliente, o nome do cliente e um número de pedido:

Número do Cliente Nome Número do Pedido
1326 Martins 00451
1288 Vieira
1262 Martins 00318

Se quisermos estruturar melhor nossa tabela, podemos usar a função SQL ISNULL() para substituir o valor NULL pelo marcador 00000. O código correspondente seria:

SELECT Número_do_Cliente,
ISNULL(Número_do_Pedido, '00000'), Número_do_Pedido
FROM Pedidos;
sql

Se executarmos este código, obteremos a seguinte tabela:

Número do Cliente Nome Número do Pedido
1326 Martins 00451
1288 Vieira 00000
1262 Martins 00318

Combinar SQL ISNULL() com funções agregadas

SQL ISNULL() funciona também em combinação com funções de agregação como SQL AVG(), SQL COUNT() ou SUM(). Você pode aprender sobre essa interação com o exemplo a seguir. Vamos expandir a tabela acima e adicionar uma coluna para o valor do pedido em euros. A tabela agora é a seguinte:

Número do Cliente Nome Número do Pedido Valor do Pedido
1326 Martins 00451 300
1288 Vieira 00000 NULL
1262 Martins 00318 100

Se quisermos substituir o valor NULL por 100 e calcular o valor total de todos os pedidos, usamos a função SUM(). O código é o seguinte:

SELECT SUM(ISNULL(Valor_do_Pedido, 100))
FROM Pedidos;
sql

A saída será:

500
sql

O sistema substitui o valor NULL por 100 e adiciona assim 300 + 100 + 100.

Alternativas à função SQL ISNULL()

Existem outras opções semelhantes à SQL ISNULL() que são classificadas como funções NULL. Incluem SQL COALESCE(), SQL IFNULL() e SQL NVL(). Elas também verificam se um valor é NULL e podem substituí-lo por um valor de substituição.

Dica

Escolha o servidor adequado para suas necessidades! Com o SQL Server Hosting da IONOS, você não só tem a opção de escolher entre MSSQL, MySQL e MariaDB, como também se beneficia de consultoria personalizada, fortes recursos de segurança e desempenho de primeira linha.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top