Oracle Database: Usando Operadores Aritméticos em consultas com SELECT
Como usar Operadores Aritméticos em consultas com SELECT
É possível criar expressões aritméticas em uma consulta que engloba valores numéricos e de datas por meio do uso de operadores aritméticos no Oracle Database.
Os operadores aritméticos (“operações matemáticas básicas”) são apresentados na tabela a seguir:
Operador | Significado |
+ | Adição |
– | Subtração |
* | Multiplicação |
/ | Divisão |
Desta forma é possível modificar os valores de dados exibidos no resultado de uma consulta, por exemplo quando precisamos efetuar algum tipo de cálculo nos valores de uma ou mais colunas.
É possível incluir em uma expressão aritmética nomes de colunas, valores numéricos constantes (inteiros e de ponto flutuante) e, claro, os operadores aritméticos.
Importante salientar que com os tipos de dados DATE e TIMESTAMP só é possível usar os operadores de adição e subtração (não é possível multiplicar ou dividir datas e horários).
Ao usar expressões aritméticas em uma consulta SQL também é importante notar que se aplicam as regras básicas de precedência dos operadores, como segue:
- Multiplicação e divisão tem prioridade sobre adição e subtração.
- Operadores que possuem a mesma prioridade são sempre avaliados a esquerda para a direita
- Para alterar a ordem de prioridade dos operadores devemos usar parênteses
- Os parênteses também podem ser empregados para deixar as declarações mais inteligíveis.
Vejamos alguns exemplos do emprego de operadores aritméticos em uma consulta, usando o esquema padrão HR.
1. Queremos retornar os nomes e sobrenomes dos funcionários, com os valores de seus respectivos salários atuais e aumentados em 10%:
SELECT first_name, last_name, salary, salary * 1.1 FROM employees;
2. Queremos verificar os IDs dos empregados e os valores de desconto do INSS sobre o salário de cada um (11% do valor bruto do salário):
SELECT employee_id, salary * 0.11 FROM employees;
3. Calcular o salário líquido a receber dos empregados, mostrando seus IDs, e levando em conta o valor do INSS (11%) e do IR (supor 15% para todos, para facilitar os cálculos). O IR deve ser aplicado sobre o salário restante após ter sido descontado o INSS.
SELECT employee_id, (salary - salary * 0.11) * 0.85 FROM employees;
Essa é uma forma de calcular; esse valor pode ser calculado usando-se fórmulas diferentes.
Observações importantes:
- Caso uma expressão aritmética envolva um valor NULL, o resultado obtido será sempre NULL (desconhecido).
- Se uma divisão por zero for realizada, será retornado um erro.
Escreva um comentário