7.3 执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。举个例子,Orders
表包含收到的所有订单,OrderItems
表包含每个订单中的各项物品。下面的SQL语句检索订单号20008
中的所有物品:
输入▼
SELECT prod_id, quantity, item_price
FROM OrderItems
WHERE order_num = 20008;
输出▼
prod_id quantity item_price
---------- ----------- ---------------------
RGAN01 5 4.9900
BR03 5 11.9900
BNBG01 10 3.4900
BNBG02 10 3.4900
BNBG03 10 3.4900
item_price
列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):
输入▼
SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;
输出▼
prod_id quantity item_price expanded_price
---------- ----------- ------------ -----------------
RGAN01 5 4.9900 24.9500
BR03 5 11.9900 59.9500
BNBG01 10 3.4900 34.9000
BNBG02 10 3.4900 34.9000
BNBG03 10 3.4900 34.9000
分析▼
输出中显示的expanded_price
列是一个计算字段,此计算为quantity*item_price
。客户端应用现在可以使用这个新计算列,就像使用其他列一样。
SQL支持表7-1中列出的基本算术操作符。此外,圆括号可用来区分优先顺序。关于优先顺序的介绍,请参阅第5课。
表7-1 SQL算术操作符
操 作 符 | 说 明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
提示:如何测试计算
SELECT
语句为测试、检验函数和计算提供了很好的方法。虽然SELECT
通常用于从表中检索数据,但是省略了FROM
子句后就是简单地访问和处理表达式,例如SELECT 3 * 2;
将返回6,SELECT Trim(' abc ');
将返回abc
,SELECT Now();
使用Now()
函数返回当前日期和时间。现在你明白了,可以根据需要使用SELECT
语句进行检验。