Pular para o conteúdo

Funções Condicionais no Oracle SQL 19c: Executando operações flexíveis baseadas em condições

Funções Condicionais no Oracle SQL 19c

Neste artigo, abordaremos as funções condicionais disponíveis no Oracle SQL 19c, fundamentais para executar operações baseadas em condições específicas. O Oracle SQL 19c traz uma variedade de funções condicionais, proporcionando aos desenvolvedores uma grande flexibilidade para executar operações conforme as condições definidas. Apresentaremos uma visão detalhada de cada função, acompanhada de exemplos e resultados esperados.

DECODE

A função DECODE compara expressões com pares de valores e resultados. Se uma expressão for igual a um valor, ela retornará o resultado correspondente.

Exemplo

SELECT DECODE(job_id, 'MANAGER', 'Boss', 'EMPLOYEE', 'Worker', 'Unknown') AS Job_Role FROM employees;

Resultado

 Job_Role  
-----------
 Boss      
 Worker    
 Unknown   
 ...       

CASE

A função CASE fornece uma estrutura semelhante ao IF...ELSE das linguagens de programação.

Exemplo

SELECT CASE WHEN salary > 5000 THEN 'High Salary'
            WHEN salary <= 5000 AND salary > 2000 THEN 'Medium Salary'
            ELSE 'Low Salary' END AS Salary_Range
FROM employees;

Resultado

 Salary_Range  
---------------
 High Salary   
 Medium Salary 
 Low Salary    
 ...          

COALESCE

A função COALESCE retorna o primeiro valor não nulo da lista.

Exemplo

SELECT COALESCE(first_name, last_name, 'Unknown') AS Display_Name FROM employees;

Resultado

 Display_Name  
---------------
 John          
 Smith         
 Unknown       
 ...           

NULLIF

NULLIF compara dois valores e retorna NULL se forem iguais; caso contrário, retorna o primeiro valor.

Exemplo

SELECT NULLIF(salary, 5000) AS Salary FROM employees;

Resultado

 Salary 
--------
 5500   
 NULL   
 4800   
...    

NVL

A função NVL substitui um valor NULL por um valor especificado.

Exemplo

SELECT NVL(commission_pct, 0) AS Commission FROM employees;

Resultado

Commission 
------------
0.1        
0          
0.05       
...        

NVL2

NVL2 verifica se um valor é NULL ou não. Retorna um valor se não for NULL e outro se for NULL.

Exemplo

SELECT NVL2(email, 'Has Email', 'No Email') AS Email_Status FROM employees;

Resultado

Email_Status 
--------------
 Has Email    
 No Email     
 Has Email    
 ...          

Conclusão

As funções condicionais no Oracle SQL 19c oferecem poderosas ferramentas para os desenvolvedores executarem tarefas baseadas em condições, tornando o processamento de dados mais flexível e eficiente. Independentemente da complexidade da lógica de negócios, o Oracle SQL 19c está equipado para lidar com várias situações, desde simples verificações de NULL até condições multifacetadas usando CASE ou DECODE. O conhecimento dessas funções é vital para qualquer profissional que trabalhe com o Oracle SQL, permitindo a criação de consultas mais eficazes e otimizadas.

Abs

Referências

Giovano Silva

Giovano Silva

Giovano Silva é um profissional com mais de 10 anos de experiência em tecnologias Oracle, com ênfase em PL/SQL. Ele adora escrever sobre soluções para problemas comuns enfrentados por profissionais Oracle em seu dia a dia. Seu objetivo é compartilhar conhecimento, simplificar conceitos complexos e ajudar a comunidade Oracle a crescer coletivamente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress