Você pode utilizar valores calculados como parte de uma condição de pesquisa.
Você também pode exibi-los para linhas selecionadas da mesma forma como exibe valores de colunas.
Você pode utilizar uma expressão aritmética na cláusula SELECT ou na cláusula WHERE da consulta:
- Quando a expressão fizer parte da cláusula SELECT, a nova coluna calculada resultante da expressão aparecerá no relatório.
- Quando a expressão fizer parte da cláusula WHERE, faz parte da condição de procura; nenhuma nova coluna aparecerá no relatório.
As duas consultas a seguir ilustram a utilização de uma expressão aritmética em uma cláusula SELECT.
Esta consulta:
SELECT DEPT
, NAME
, SALARY
FROM Q.STAFF
WHERE DEPT = 38
Produz este relatório:
DEPT NAME SALARY
---- ---------- ----------
38 MARENGHI 17506.75
38 O'BRIEN 18006.00
38 QUIGLEY 16808.30
38 NAUGHTON 12954.75
38 ABRAHAMS 12009.75
Esta consulta:
SELECT DEPT
, NAME
, SALARY/12
FROM Q.STAFF
WHERE DEPT = 38
Produz este relatório:
DEPT NAME COL1
------ --------- ------------------
38 MARENGHI 1458.8958333333
38 O'BRIEN 1500.5000000000
38 QUIGLEY 1400.6916666666
38 NAUGHTON 1079.5625000000
38 ABRAHAMS 1000.8125000000
Você pode usar os seguintes operadores aritméticos nos cálculos:
+ Somar
- Subtrair
* Multiplicar
/ Dividir
Dentro das expressões, você pode utilizar nomes de colunas (como em RATE*HOURS) colunas e constantes (como em RATE*1.07) e funções embutidas (como em AVG(SALÁRIO)/2).
Uma expressão pode consistir em constantes numéricas (como 3*7) ou constantes de caracteres (como SALARY + COMM).
Quando uma tabela é criada, cada coluna da mesma é definida para conter um certo tipo de dados.
As operações aritméticas podem ser executadas apenas em tipos de dados numéricos e os resultados de uma operação podem depender dos tipos de dados dos operandos.
Exemplos:
- Para selecionar o nome e o total de ganhos (salário mais comissão) de todos os funcionários que ganham mais do que $20.000 por ano, utilize uma consulta como
a seguinte:
SELECT NAME
, SALARY + COMM
FROM Q.STAFF
WHERE SALARY + COMM > 20000
A consulta acima não lista ninguém cujo salário sozinho é maior do que $20.000 quando a quantidade da comissão é nula porque o resultado de operar em uma base
desconhecida é ignorado.
- Para listar todos cuja comissão é 5% ou mais do total de seus ganhos, utilize uma consulta como a seguinte:
SELECT NAME
, SALARY
, COMM
FROM Q.STAFF
WHERE COMM >= 0.05 * (SALARY + COMM)
© Copyright IBM Corp.