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.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
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:
A 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:
Quando você executar o código, a saída será:
A primeira expressão tem um valor, portanto a função não usa a alternativa. No segundo exemplo:
A saída será:
Dado que o valor da primeira expressão é NULL, a função usa o valor alternativo.
Isso também funciona com valores numéricos:
A saída será:
Quando o valor é NULL, a função SQL IFNULL() utiliza o valor alternativo:
A saída será:
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 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 é:
Isso 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.