创建计算字段
什么是计算字段:存储在表中的数据都不是应用程序所需的。我们需要进行转换后在打包给客户端使用。
1、拼接字段
将值联结带一起构成单个值。可以使用一个特殊的操作符来拼接两个列。在SQL SERVER中 此操作符可用加号+,其他DBMS中使用两个竖杠||或者特殊函数。
```sql server
返回供应商名称和地址,且地址使用括号括起来
SELECT vend_name + '('+vend_country+')' FROM Vendors ORDER BY vend_name;
上面SELECT 语句拼接一下元素:
①存储在vend_name列中的名字;
②包含一个空格和一个左圆括号的字符串;
③存储在vend_country列中的国家;
④包含一个右圆括号的字符串。
上面SQL语句返回值中存在很多空格,空格不是客户端需要的格式化的数据。这可以使用**RTRIM()**函数来完成。
```SQL SERVER
SELECT RTRIM(vend_name) + '('+ RTRIM (vend_country)+')' FROM Vendors ORDER BY vend_name;
RTRIM()函数:去掉右边的所有空格
LTRIM()函数: 去掉左边的所有空格
2、别名
拼接字段不能直接应用的客户端,只是一个值。是一个未命名的列。因此需要别名。别名用AS关键字赋予。
```sql server
SELECT RTRIM(vend_name) + '('+ RTRIM (vend_country)+')' AS BM FROM Vendors ORDER BY vend_name;
3、执行算术计算
```sql server
SELECT prod_id,quantity,item_price,quantity*item_price AS EX_PRICE FROM OrderItems WHERE order_num=20008;
|操作符|说明|
|----|----|
|+ | 加|
|-|减|
|*|乘|
|/|除|
>圆括号具有优先级
AS的用途很广泛:重命名一个列,赋予一段拼接地址段一个列名
SELECT 语句通常用于从表中检索数据,但是省略了FROM子句后就是简单地访问和处理表达式。