Símbolos de operadores matemáticos - Amazon Redshift

Símbolos de operadores matemáticos

A tabela a seguir lista os operadores matemáticos compatíveis.

Operadores compatíveis

Operador Descrição Exemplo Resultado
+ adição 2 + 3 5
- subtração 2 - 3 -1
* multiplicação 2 x 3 6
/ divisão 4 / 2 2
% módulo 5 % 4 1
^ exponenciação 2,0 ^ 3,0 8
|/ raiz quadrada | / 25,0 5
||/ raiz cúbica || / 27,0 3
@ valor absoluto @ -5,0 5
<< deslocamento bitwise à esquerda 1 << 4 16
>> deslocamento bitwise à direita 8 >> 2 2
& bitwise e 8 & 2 0

Exemplos

Os exemplos a seguir usam o banco de dados de exemplo de TICKIT. Para ter mais informações, consulte Banco de dados de exemplo.

Para calcular a comissão paga mais uma taxa de manuseio de USD 2,00 para determinada transação, use o exemplo a seguir.

SELECT commission, (commission + 2.00) AS comm FROM sales WHERE salesid = 10000; +------------+-------+ | commission | comm | +------------+-------+ | 28.05 | 30.05 | +------------+-------+

Para calcular 20% do preço de venda para determinada transação, use o exemplo a seguir.

SELECT pricepaid, (pricepaid * .20) as twentypct FROM sales WHERE salesid=10000; +-----------+-----------+ | pricepaid | twentypct | +-----------+-----------+ | 187 | 37.4 | +-----------+-----------+

Para prever as vendas de ingressos com base em um padrão de crescimento contínuo, use o exemplo a seguir. Neste exemplo, a subconsulta retorna o número de ingressos vendidos em 2008. Esse resultado é multiplicado exponencialmente por uma taxa de crescimento contínuo de 5% por 10 anos.

SELECT (SELECT SUM(qtysold) FROM sales, date WHERE sales.dateid=date.dateid AND year=2008)^((5::float/100)*10) AS qty10years; +------------------+ | qty10years | +------------------+ | 587.664019657491 | +------------------+

Para encontrar o preço total pago e a comissão para vendas com um ID de data maior ou igual a 2000, use o exemplo a seguir. Então, subtraia a comissão total do preço total pago.

SELECT SUM(pricepaid) AS sum_price, dateid, SUM(commission) AS sum_comm, (SUM(pricepaid) - SUM(commission)) AS value FROM sales WHERE dateid >= 2000 GROUP BY dateid ORDER BY dateid LIMIT 10; +-----------+--------+----------+-----------+ | sum_price | dateid | sum_comm | value | +-----------+--------+----------+-----------+ | 305885 | 2000 | 45882.75 | 260002.25 | | 316037 | 2001 | 47405.55 | 268631.45 | | 358571 | 2002 | 53785.65 | 304785.35 | | 366033 | 2003 | 54904.95 | 311128.05 | | 307592 | 2004 | 46138.8 | 261453.2 | | 333484 | 2005 | 50022.6 | 283461.4 | | 317670 | 2006 | 47650.5 | 270019.5 | | 351031 | 2007 | 52654.65 | 298376.35 | | 313359 | 2008 | 47003.85 | 266355.15 | | 323675 | 2009 | 48551.25 | 275123.75 | +-----------+--------+----------+-----------+