数学运算符符号
下表列出了支持的数学运算符。
支持的运算符
操作符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加 | 2 + 3 | 5 |
- | 减 | 2 - 3 | –1 |
* | 乘 | 2 * 3 | 6 |
/ | 除 | 4 / 2 | 2 |
% | 取模 | 5 % 4 | 1 |
^ | 幂 | 2.0 ^ 3.0 | 8 |
|/ | 平方根 | | / 25.0 | 5 |
||/ | 立方根 | || / 27.0 | 3 |
@ | 绝对值 | @ -5.0 | 5 |
<< | 按位左移 | 1 << 4 | 16 |
>> | 按位右移 | 8 >> 2 | 2 |
& | 按位和 | 8 & 2 | 0 |
示例
以下示例使用 TICKIT 示例数据库。有关更多信息,请参阅 示例数据库。
要为给定的交易计算支付的佣金加 2.00 美元手续费,请使用以下示例。
SELECT commission, (commission + 2.00) AS comm FROM sales WHERE salesid = 10000;
+------------+-------+ | commission | comm | +------------+-------+ | 28.05 | 30.05 | +------------+-------+
要为给定的交易计算销售价格的 20%,请使用以下示例。
SELECT pricepaid, (pricepaid * .20) as twentypct FROM sales WHERE salesid=10000;
+-----------+-----------+ | pricepaid | twentypct | +-----------+-----------+ | 187 | 37.4 | +-----------+-----------+
要根据持续增长模式预测票的销售量,请使用以下示例。在此示例中,子查询将返回 2008 年销售的票数。在此后 10 年,该结果将以 5% 的连续增长率呈指数增长。
SELECT (SELECT SUM(qtysold) FROM sales, date WHERE sales.dateid=date.dateid AND year=2008)^((5::float/100)*10) AS qty10years;
+------------------+ | qty10years | +------------------+ | 587.664019657491 | +------------------+
要查找日期 ID 大于或等于 2000 的销售的总支付价格和总佣金,请使用以下示例。然后将总支付价格减去总佣金。
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 | +-----------+--------+----------+-----------+