chapter10:创建计算字段

计算字段

存储在数据库表中的数据一般不是应用程序所需要的格式。需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出后在客户机应用程序中重新格式化。

计算字段并不实际存在于数据库表中,而是运行在SELECT语句内创建的

  • 字段(field):基本上以列的意思相同,经常互换使用。只有数据库知道SELECT语句中哪些列是实际的表列,哪些列是计算字段。

拼接字段

例:vendors表包含供应商名和位置信息。假如要生成一个供应商报表,需要按照name(location)的格式列出

  • 拼接(concatenate):将值联结到一起构成单个值。多数DBMS使用+||来实现拼接,但MySQL使用Concat()函数。
SELECT Concat(vend_name, ' (', vend_country, ')')
FROM vendors
ORDER BY vend_name;
  • 删除数据右侧多余空格,使用RTrim()函数:
SELECT Concat(RTrim(vend_name), ' (', vend_country, ')')
FROM vendors
ORDER BY vend_name;

同理,删除左边空格LTrim(),两边空格Trim()

使用别名(alias)

SELECT Concat(RTrim(vend_name), ' (', vend_country, ')') AS vend_title
FROM vendors
ORDER BY vend_name;

执行算数计算

对检索出的数据进行检索计算。

例:orders表包含收到的所有订单,orderitems表包含每个订单中的各项物品,item_price列包含单价。汇总物品的价格(单价乘以订购数量):

SELECT prod_id,
       quantity,
       item_price,
       quantity*item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005;

你可能感兴趣的:(chapter10:创建计算字段)