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 |
+-----------+--------+----------+-----------+