第七课 创建计算字段
第七课 创建计算字段
- 计算字段
存储在表中的数据都不是应用程序所需要的,我们需要直接从数据库中检索出转换、计算或格式化过的数据
计算字段是运行时在SELECT语句内创建
字段(field)基本与列(column)的意思相同
只有数据库知道SELECT语句中哪些列是实际的表列,哪些是计算字段
- 拼接字段
拼接(concatente)将值联结到一起,构成单个值
解决办法是把连个列拼接起来,在SQL中的SELECT语句中,可使用一个特殊的操作符来拼接连个列,Access和SQL Server使用+号
eg:
SELECT vend_name + "("+vend_country+")"
FROM Vendors
ORDER BY vend_name;
为正确返回格式化的数据,必须去掉这些空格。这可以使用SQL 的RTRIM()函数来完成
SELECT RTRIM(vend_name) + "("+RTRIM(vend_country)+")"
FROM Vendors
ORDER BY vend_name;
RTRIM()(正如刚才所见,它去掉字符串右边的空格)、LTRIM()(去掉字符串左边的空格)以及TRIM()(去掉字符串左右两边的空格)。
使用别名
一个未命名的列不能用于客户端应用中,因为客户端没办法引用它
别名用AS关键字赋予
eg:
SELECT RTRIM(vend_name) + "("+RTRIM(vend_country)+")"
AS vend_title
FROM Vendors
ORDER BY vend_name;
指示SQL创建一个包含计算结果的名为vend_title的计算字段
别名
其他用途:包括在实际的表列名包含不合法的字符(如空格)时重新命名它,在原来的名字含混或容易误解时候扩充它
别名的名字既可以是一个单词,也可以是一个字符串
别名有时也称为导出列(derived column)
- 执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算
eg:
SELECT prod_id,
quantity,
item_price,quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num=20008;

浙公网安备 33010602011771号