8.1 计算字段
作用:存储在表中的数据都不是应用程序所需要的,我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。
计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。
字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
8.2 拼接字段
拼接(concatenate):将值联结到一起构成单个值,Concat()。
SELECT Concat( 列1,'(',列2,')') FROM 表名 ORDER BY 列1;Concat()拼接串,即把多个串连接起来形成一个较长的串。需要一个或多个指定的串,各个串之间用逗号分隔。
SELECT Concat( 列1,'(',RTrim(列2),')') FROM 表名 ORDER BY 列1;RTrim():去掉串右边的空格;LTrim():去掉串左边的空格;Trim():去掉串左右两边的空格
使用别名:别名(alias)是一个字段或值的替换名。别名用AS关键字赋予。
SELECT Concat( 列1,'(',RTrim(列2),')') AS 列名 FROM 表名 ORDER BY 列1;别名还有其他用途。常见的用途包括在实际的表列名包含不符合规定的字符(如空格)时重新命名它,在原来的名字含混或容易误解时扩充它,等等。
别名有时也称为导出列(derived column),不管称为什么,它们所代表的都是相同的东西。
8.3 执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。
SELECT prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM orderitems WHERE order_num = 20005操作符 | 说明 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。例如,SELECT3*2;将返回6,SELECT Trim('abc');将返回abc,而SELECT Now()利用Now()函数返回当前日期和时间。