拼接字段(多列拼接成一列)
- 拼接(concatenate): 将值联结到一起构成单个值。
- 多数DBMS使用+或||来实现拼接,MySQL则使用Concat()函数来实现拼接两个列。
假设vendors表中包含供应商名和所在国家的信息。假如要生成一个供应商报表,需要在供应商的名字中按照name(country)这样的格式列出供应商的位置。
此报表需要单个值,而表中数据存储在两个列vend_name和vend_
country中。
SQL语句显示如下(以MySQL为例)
SELECT Concat(vend_name, ' (', vend-country, ')') FROM vendors ORDER BY vend_name;
concat()函数将多列数据拼接在新的一列中,中间用逗号隔开,显示结果如下:
我们发现,拼接字段的结果中有空格存在,这时候我们可以用R对字段使用trim函数去掉空格
SELECT Concat(RTrim(vend_name), ' (', RTrim(vend-country), '') FROM vendors ORDER BY vend_name;
Rtrim,ltrim,trim函数
- RTrim():去掉字符串右边的空格
- LTrim():去掉串左边的空格
- Trim():去掉字符串左右两边的空格
创建了新的字段之后,我们发现新的字段没有名字,此时我们需要对它命名,SQL语句使用AS 字段名 来进行命名。
SELECT Concat(RTrim(vend_name), ' (', RTrim(vend-country), '') AS vend_title FROM vendors ORDER BY vend_name;
根据算术计算得到新的字段
比如说,我们知道产品的id,单价和数量,想汇产品的总价(单
价乘以数量 ),所以要增加产品的总价这一个新的字段
SELECT prod_id,quantity,item_price,quantity*item_price AS expanded_price FROM orderitems;
这样就可以通过计算得到新的字段了,真的非常好用!