第十章:创建计算字段

来源:互联网 发布:matlab矩阵最大值位置 编辑:程序博客网 时间:2024/06/14 21:32

创建在数据库表中的数据一般不是应用程序所需要的格式。
我们需要从数据库中检索出转换、计算或格式化过的数据。
计算字段并不实际存在于数据库表中,计算字段是运行时在SELECT语句内创建的。
字段(field)基本上与列(column)的意思相同,经常互换使用。不过数据库一般称之为列,而术语字段通常用在计算字段的连接上。

1.拼接字段

vendors表包含vendor_name与vendor_location两个字段。然后需要到处的数据格式为name(location)。
这是我们使用拼接(concatenate)将值联结到一起构成单个值。

SELECT Concat(vender_name, '(',vender_location,')') FROM vendors ORDER BY vendor_name

Concat()需要拼接一个或多个指定的串。各个串之间使用逗号隔开。

删除数据右侧多余的空格来整理数据:

SELECT Concat(RTrim(vendor_name) ,'(',RTrim(vendor_location),')' )FROM vendors ORDER BY vendor_name

注:RTrim():去掉串右边的空格、LTrim():去掉串左边的空格、Trim():去掉串两边的空格。

2.使用别名

使用拼接字段出来的数据没有具体的列名,此时使用别名来替换。
别名(alias)是一个字段或值得替换值,别名用AS关键字赋予

SELECT Concat(vendor_name, '(',vender_location,')') AS vendor_title FROM vendors ORDER BY vendor_name;

3.执行算数计算

orders表包含收到的订单:order_id quantity item_price order_num
现在计算订单号为2005的总价:

SELECT  order_id,        quantity,        item_price,        quantity * item_price AS expanded_priceFROM ordersWHERE order_num = 2005

MySQL的算术操作符:

操作符 说明 + 加 - 减 * 乘 / 除