SQL IFNULL(): Substituir valores NULL
A função SQL IFNULL() é utilizada para verificar o valor de uma expressão. Se esse valor for NULL, um valor alternativo é retornado. Se o valor não for NULL, o sistema exibe o valor original.
O que é SQL IFNULL()?
Em SQL (Structured Query Language), a função SQL COALESCE() é uma ferramenta importante. No entanto, se você deseja retornar um valor especí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 verificado for NULL, retorna um valor alternativo que você especifica. 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á rapidamente a utilidade da função.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Save 50% or more vs leading hosts
- Unlimited traffic & no setup fees
- 99.99% uptime guaranteed
- Free 24/7 premium support
Sintaxe e funcionamento de SQL IFNULL()
Para entender como funciona a função SQL IFNULL(), vejamos primeiro a sintaxe básica dela. Veja como ela é estruturada:
IFNULL(expressão, expressão_alternativa);sqlA primeira expressão é aquela cujo valor será verificado. A expressão alternativa será retornada se a primeira expressão for NULL.
Exemplos de aplicação de SQL IFNULL()
Se você quiser experimentar a função SQL IFNULL(), considere estes dois exemplos simples. No primeiro exemplo, a função verificará que o valor da expressão não é NULL. Aqui está o código correspondente:
IFNULL('Este é o primeiro valor', 'Esta é a alternativa');sqlQuando você executar o código, a saída será:
Este é o primeiro valorsqlA primeira expressão tem um valor, portanto a função não usa a alternativa. No segundo exemplo:
IFNULL(' ', 'Esta é a alternativa');sqlA saída será:
Esta é a alternativasqlDado que o valor da primeira expressão é NULL, a função usa o valor alternativo.
Isso também funciona com valores numéricos:
IFNULL(10, 15);sqlA saída será:
10sqlQuando o valor é NULL, a função SQL IFNULL() utiliza o valor alternativo:
IFNULL(NULL, 15);sqlA saída será:
15sqlExemplo 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 Faturamento:
| Nome | Endereço de Entrega | Endereço de Faturamento |
|---|---|---|
| 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 faturamento, 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;sqlIsso resulta em uma nova tabela, onde pelo menos um endereço é registrado 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 |
Alternativas ao SQL IFNULL()
Além da função mencionada COALESCE(), há outras alternativas 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 necessário, o substitui por um valor definido.
A base de dados perfeita para suas necessidades: com o SQL Server Hosting da IONOS, você pode escolher entre MSSQL, MySQL ou MariaDB e aproveitar o máximo desempenho e fortes recursos de segurança.

