7 创建计算字段
7.1 计算字段
直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化
7.2 拼接字段
解决办法是把两个列拼接起来。在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。
SELECT Concat ( vend_name, '(' , vend_country, ')' ) AS vend_title FROM Vendors;
上述SELECT返回一个名字叫做vend_title的列,包含的信息有:
- 存储在vend_name列中的名字;
- 包含一个空格和一个左圆括号的串;
- 存储在vend_country列中的国家;
- 包含一个右圆括号的串
也可以用TRIM(),RTRIM(),LTRIM()来去除空格
SELECT Concat ( RTRIM( vend_name ), '(' , RTRIM( vend_country ), ')' ) AS vend_title FROM Vendors;
别名的使用:将创建的一个新列用AS关键字赋予别名,从而方便在客户端中应用它,就像它是一个实际的表列一样。(见上例)
7.3 执行算数运算
计算字段的另一常见用途是对检索出的数据进行算术计算。
举一个 例子, orders表包含收到的所有订单, orderitems表包含每个订单中的 各项物品。下面的SQL语句检索订单号20005中的所有物品:
item_price列包含订单中每项物品的单价。如下汇总物品的价格(单价乘以订购数量):
输出中显示的expanded_price列为一个计算字段,此计算为 quantity*item_price。客户机应用现在可以使用这个新计算列,就像使用其他列一样。
MySQL支持下表中列出的基本算术操作符。此外,圆括号可用来区分优先顺序