本章的主题是“创建计算字段”,介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。
概念
- 字段:基本上与列的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常与计算字段一起使用。
- 拼接:将值联结到一起(将一个值附加到另一个值)构成单个值。
提示
- 只有数据库知道SELECT语句中哪些列是实际的列表,哪些列是计算字段。从客户端来看,计算字段的数据与其他列的数据的返回方式相同。
- 在SQL语句内可完成的许多转换和格式化工作都可以直接在客户端应用程序内完成。但一般来说,在数据库服务器上完成这些操作比在客户端中完成要快得多。
- AS关键字通常可选,不过最好使用它,这被视为一条最佳实践。
- 别名常在实际的表列名包含不合法字符时重新命名它,在原来的名字含混或容易误解时扩充它。
计算字段
计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
拼接字段
使用下面的SQL命令来执行一个拼接的SQL语句:
SELECT CONCAT(vend_name , ' (' , vend_country , ')')
FROM Vendors
ORDER BY vend_name;
使用别名
别名是一个字段或值的替换名。用AS关键字赋予。使用下面的SQL命令:
SELECT CONCAT(vend_name , ' (' , vend_country , ')')
AS vend_title
FROM Vendors
ORDER BY vend_name;
算术字段
使用下面的SQL命令可以执行一个算术计算。
SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;
圆括号可以用来区分运算的顺序。
执行测试计算
SELECT语句为测试、检验函数和计算提供了很好的方法。例如SELECT 3*2;将返回6;SELECT Now();返回当前日期和时间。