创建在数据库表中的数据一般不是应用程序所需要的格式。 我们需要从数据库中检索出转换、计算或格式化过的数据。 计算字段并不实际存在于数据库表中,计算字段是运行时在SELECT语句内创建的。 字段(field)基本上与列(column)的意思相同,经常互换使用。不过数据库一般称之为列,而术语字段通常用在计算字段的连接上。
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():去掉串两边的空格。
使用拼接字段出来的数据没有具体的列名,此时使用别名来替换。 别名(alias)是一个字段或值得替换值,别名用AS关键字赋予
SELECT Concat(vendor_name, '(',vender_location,')') AS vendor_title FROM vendors ORDER BY vendor_name;
orders表包含收到的订单:order_id quantity item_price order_num 现在计算订单号为2005的总价:
SELECT order_id,
quantity,
item_price,
quantity * item_price AS expanded_price
FROM orders
WHERE order_num = 2005
操作符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |