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 subs­ti­tui­ção do mesmo tipo de dado.

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

Em SQL (Struc­tu­red 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 subs­ti­tui­ção seja con­si­de­rado em vez de NULL, a linguagem oferece a função SQL ISNULL(). Essa função verifica pri­mei­ra­mente se uma expressão é NULL. Se for o caso, ela avalia uma expressão de subs­ti­tui­ção definida. Caso contrário, o valor original é con­si­de­rado.

VPS Hosting (Virtual Private Servers)
World-class VPS at America’s lowest price

Hos­pe­da­gem VPS poderosa e de baixo custo para rodar suas apli­ca­ções sob medida, com as­sis­tente pessoal e suporte 24 horas.

  • Save 50% or more vs leading hosts
  • Unlimited traffic & no setup fees 
  • 99.99% uptime gua­ran­teed
  • Free 24/7 premium support 

Sintaxe da função SQL ISNULL()

O fun­ci­o­na­mento da função SQL ISNULL() fica claro quando ana­li­sa­mos a sintaxe:

ISNULL(expressão, valor_substituto);
sql

A função primeiro verifica se o valor da expressão es­pe­ci­fi­cada é NULL. Se for o caso, o valor subs­ti­tuto é retornado. Caso contrário, a SQL ISNULL() usa a expressão original. É im­por­tante observar que “expressão” e “valor_subs­ti­tuto” devem ter o mesmo tipo de dado.

Fun­ci­o­na­mento 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 es­tru­tu­rar melhor nossa tabela, podemos usar a função SQL ISNULL() para subs­ti­tuir o valor NULL pelo marcador 00000. O código cor­res­pon­dente seria:

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

Se exe­cu­tar­mos 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 com­bi­na­çã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 subs­ti­tuir 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.

Al­ter­na­ti­vas à função SQL ISNULL()

Existem outras opções se­me­lhan­tes à SQL ISNULL() que são clas­si­fi­ca­das 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 subs­ti­tui­ção.

Dica

Escolha o servidor adequado para suas ne­ces­si­da­des! 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 con­sul­to­ria per­so­na­li­zada, fortes recursos de segurança e de­sem­pe­nho de primeira linha.

Ir para o menu principal