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.



Falar no WhatsApp

Deixe um comentário