Aula 9: Funções Oracle — NVL, DECODE, CASE, COALESCE na prática
Nesta aula, vamos nos aprofundar em funções específicas dentro do Oracle SQL, conhecidas como Funções Oracle. Entender estes conceitos é crucial para manipular dados de maneira eficiente e para resolver problemas comuns encontrados no dia a dia de qualquer analista ou desenvolvedor que usa bancos de dados Oracle. Vamos explorar como utilizar as funções NVL, DECODE, CASE e COALESCE de maneira prática e objetiva.
O que você vai aprender nesta aula
- Conceito e uso da função NVL.
- Como e quando usar a função DECODE.
- Aplicação prática da expressão CASE.
- Usos da função COALESCE em comparação ao NVL.
Função NVL: Conceito e Uso
A função NVL é uma das Funções Oracle que permite substituir valores nulos por um valor definido pelo usuário. Isso é útil quando você quer assegurar que os resultados de uma consulta não retornem valores nulos, que podem impactar negativamente em cálculos ou relatórios.
No banco de dados Oracle, a função NVL é utilizada da seguinte forma:
SELECT NVL(salario, 0) AS salario_ajustado FROM funcionarios;
Neste exemplo, qualquer valor nulo na coluna “salario” será substituído pelo valor 0 na consulta.
Função DECODE: Transformando Condições em Resultados
A função DECODE permite realizar transformações baseadas em condições, de forma similar a um comando de switch-case encontrado em muitas linguagens de programação. Ela reduz a complexidade de múltiplos IF ELSE.
SELECT nome, DECODE(cargo, 'GERENTE', 'Senior', 'Junior') AS nivel_cargo FROM funcionarios;
No exemplo acima, se o cargo for ‘GERENTE’, o resultado da função DECODE retornará ‘Senior’, caso contrário, ‘Junior’.
Expressão CASE: Flexibilidade e Legibilidade
A expressão CASE é similar ao DECODE, mas oferece uma sintaxe mais flexível e legível. Isso a torna muito popular em consultas SQL complexas.
SELECT nome,
CASE
WHEN salario >= 10000 THEN 'Alto'
WHEN salario >= 5000 THEN 'Médio'
ELSE 'Baixo'
END AS categoria_salario
FROM funcionarios;
O comando acima classifica os funcionários em categorias salariais: Alto, Médio ou Baixo.
Função COALESCE: Escolha o Primeiro Valor Não-nulo
A função COALESCE retorna o primeiro valor não-nulo em uma lista de argumentos. Ela é extremamente útil quando você precisa verificar múltiplas colunas para encontrar um valor não-nulo.
SELECT COALESCE(email_residencial, email_comercial, 'sem email') AS contato_email FROM contatos;
Esse exemplo busca primeiro um valor na coluna ‘email_residencial’ e, se for nulo, passa para ‘email_comercial’, retornando ‘sem email’ se ambos forem nulos.
Resumo da Aula 9
Nesta aula, exploramos como as Funções Oracle NVL, DECODE, CASE e COALESCE permitem realizar manipulações poderosas de dados que ajudam a resolver problemas comuns de dados nulos e transformações condicionais. Utilizar essas funções diariamente é uma prática comum em nossos projetos na JRT Technology Solutions, pois ajudam a otimizar e simplificar consultas SQL. Na próxima aula, vamos abordar joins e como eles podem ser combinados com essas funções para consultas avançadas.
Quer aprender na prática com especialistas?
A JRT Technology Solutions oferece treinamentos e implementação de Oracle SQL para equipes corporativas.