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