A função SQL IFNULL() é utilizada para verificar o valor de uma expressão. Se esse valor for NULL, um valor al­ter­na­tivo é retornado. Se o valor não for NULL, o sistema exibe o valor original.

O que é SQL IFNULL()?

Em SQL (Struc­tu­red Query Language), a função SQL COALESCE() é uma fer­ra­menta im­por­tante. No entanto, se você deseja retornar um valor es­pe­cí­fico quando uma expressão é vazia ou NULL, pode usar a função SQL IFNULL(). Esta função verifica a expressão e executa uma das duas ações possíveis: se o valor ve­ri­fi­cado for NULL, retorna um valor al­ter­na­tivo que você es­pe­ci­fica. Se o valor não for NULL, o valor original da expressão é exibido. Pode parecer confuso na teoria, mas com alguns exemplos práticos, você entenderá ra­pi­da­mente a utilidade da função.

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 e fun­ci­o­na­mento de SQL IFNULL()

Para entender como funciona a função SQL IFNULL(), vejamos primeiro a sintaxe básica dela. Veja como ela é es­tru­tu­rada:

IFNULL(expressão, expressão_alternativa);
sql

A primeira expressão é aquela cujo valor será ve­ri­fi­cado. A expressão al­ter­na­tiva será retornada se a primeira expressão for NULL.

Exemplos de aplicação de SQL IFNULL()

Se você quiser ex­pe­ri­men­tar a função SQL IFNULL(), considere estes dois exemplos simples. No primeiro exemplo, a função ve­ri­fi­cará que o valor da expressão não é NULL. Aqui está o código cor­res­pon­dente:

IFNULL('Este é o primeiro valor', 'Esta é a alternativa');
sql

Quando você executar o código, a saída será:

Este é o primeiro valor
sql

A primeira expressão tem um valor, portanto a função não usa a al­ter­na­tiva. No segundo exemplo:

IFNULL(' ', 'Esta é a alternativa');
sql

A saída será:

Esta é a alternativa
sql

Dado que o valor da primeira expressão é NULL, a função usa o valor al­ter­na­tivo.

Isso também funciona com valores numéricos:

IFNULL(10, 15);
sql

A saída será:

10
sql

Quando o valor é NULL, a função SQL IFNULL() utiliza o valor al­ter­na­tivo:

IFNULL(NULL, 15);
sql

A saída será:

15
sql

Exemplo de aplicação de SQL IFNULL()

Uma aplicação prática da função SQL IFNULL() pode ser a seguinte. Suponha que você tenha uma tabela chamada “Entregas” com as colunas Nome, Endereço de Entrega e Endereço de Fa­tu­ra­mento:

Nome Endereço de Entrega Endereço de Fa­tu­ra­mento
Schmidt Rua das Flores, 12 Rua das Flores, 12
Moraes Largo do Sol, 2 Rua Central, 66
Pedroso Rua Palmelo, 32 NULL
Martins Avenida Marantes, 77 Rua da Ponte, 62
Becker Rua Monte Verde, 41 Rua Monte Verde, 41

Para garantir que todos os registros estejam completos, mesmo que um cliente tenha fornecido apenas um endereço de entrega e não um endereço de fa­tu­ra­mento, você pode usar a função SQL IFNULL(). O código SQL com o comando SQL SELECT adequado é:

SELECT Nome, IFNULL(Endereço_Faturamento, Endereço_Entrega) AS Endereço
FROM Entregas;
sql

Isso resulta em uma nova tabela, onde pelo menos um endereço é re­gis­trado para cada cliente:

Nome Endereço
Schmidt Rua das Flores, 12
Moraes Largo do Sol, 2
Pedroso Rua Palmelo, 32
Martins Avenida Marantes, 77
Becker Rua Monte Verde, 41

Al­ter­na­ti­vas ao SQL IFNULL()

Além da função men­ci­o­nada COALESCE(), há outras al­ter­na­ti­vas ao SQL IFNULL(). A SQL NVL() também converte um valor NULL em um valor de sua escolha. A SQL ISNULL() verifica se um valor é NULL ou não e, se ne­ces­sá­rio, o substitui por um valor definido.

Dica

A base de dados perfeita para suas ne­ces­si­da­des: com o SQL Server Hosting da IONOS, você pode escolher entre MSSQL, MySQL ou MariaDB e apro­vei­tar o máximo de­sem­pe­nho e fortes recursos de segurança.

Ir para o menu principal