07 创建计算字段

1.计算字段

字段(field):基本上与列的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常与计算字段一起使用。

2.拼接字段

(1)拼接(concatenate):将值联结到一起(将一个值附加到另一个值)构成单个值。

SQLSELECT语句中,可以使用一个特殊的操作符来拼接两个列。不同的DBMS的该操作符不同,而MySQL中,必须使用特殊的函数

输入:

SELECT Concat(vend_name, ' (', vend_country, ')')

FROM Vendors

ORDER BY vend_name;

SQL语句拼接以下元素:

存储在vend_name列中的名字;

包含一个空格和一个左圆括号的字符串;

存储在vend_country列中的国家;

包含一个右圆括号的字符串。

输出:

SELECT语句返回包含上述四个元素的一个列(计算字段)。

若结合成一个计算字段的两个列用很多空格填充的话,为正确返回格式化的数据,即去掉不需要的空格,可以使用SQLRTRIM()函数来完成,输入:

SELECT Concat(vend_name, ' (', RTRIM(vend_country), ')')

FROM Vendors

ORDER BY vend_name;

输出:

RIM()函数:RTRIM()去掉右边的空格,LTRIM()去掉左边的空格,TRIM()去掉字符串左右两边的空格。大多数DBMS都支持。

(2)别名(alias):是一个字段或值的替换名,用AS关键字赋予,也叫导出列。

输入:

SELECT Concat(vend_name, ' (', RTRIM(vend_country), ')')

AS vend_title

FROM Vendors

ORDER BY vend_name;

输出:

3.执行算术计算

输入:

SELECT prod_id, quantity, item_price

FROM OrderItems

WHERE order_num = 20008;

输出:

item_price列包含订单中每项物品的单价,如下汇总物品的价格(单价乘以订购数量),输入:

SELECT prod_id,

quantity,

item_price,

(quantity*item_price) AS expanded_price

FROM OrderItems

WHERE order_num = 20008;

*sql关键字重复了,quantity*item_price必须加圆括号。

输出:

输出的expanded_price是一个计算字段。

原文地址:https://www.cnblogs.com/Sumomo0516/p/6131523.html