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.
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:
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:
A saída seria:
No próximo exemplo, a função é aplicada novamente, mas desta vez a expressão possui um valor e, portanto, retorna esse valor:
A saída seria:
Portanto, obtemos esta saída:
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:
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:
A saída será:
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.
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.