创建计算字段
计算字段
从数据库中检索出转换、计算或者格式化过的数据,而不是检索出数据,然后在客户机程序中重新格式化。
字段:基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而属于字段通常
用在计算字段的连接上。
拼接字段
拼接:将值联结到一起构成单个值。解决办法是把两个列拼接起来。在MySql的SELECT语句中
,可以使用Concat()函数来拼接。注意:多数DBMS使用+或者||来实现拼接,MySql使用Concat()函数。
mysql> select Concat(vend_name,'(',vend_country,')')from vendors order by vend_name\g;
+----------------------------------------+
| Concat(vend_name,'(',vend_country,')') |
+----------------------------------------+
| ACME(USA) |
| Anvils R Us(USA) |
| Furball Inc.(USA) |
| Jet Set(England) |
| Jouets Et Ours(France) |
| LT Supplies(USA) |
+----------------------------------------+
6 rows in set (0.01 sec)
concat()拼接串,即把多个串连接起来形成一个较长的串。Concat()需要一个或者多个指定的串,
各个串指定件用逗号分隔。上面的select语句连接一下四个元素:
- 存储在vend_name 列中的名字。
- 包含一个空格和一个左圆括号的串;
- 存储在vend_country列中的郭佳;
- 包含一个右圆括号的串。
还可以通过删除多余的空格来整理数据。
函数 | 作用 |
---|---|
RTrim() | 去除字符串右边的空格 |
LTrim() | 去除字符串左边的空格 |
Trim() | 去掉左右两边的空格 |
使用别名:别名有时候也称为导出列。
mysql> select Concat(RTrim(vend_name),'(',RTrim(vend_country),')')AS vend_title from vendors order by vend_name;
+------------------------+
| vend_title |
+------------------------+
| ACME(USA) |
| Anvils R Us(USA) |
| Furball Inc.(USA) |
| Jet Set(England) |
| Jouets Et Ours(France) |
| LT Supplies(USA) |
+------------------------+
6 rows in set (0.01 sec)
执行算数计算
mysql> select prod_id,
-> quantity,
-> item_price,
-> quantity*item_price AS expanded_price
-> FROM orderitems
-> where order_num =20005;
+---------+----------+------------+----------------+
| prod_id | quantity | item_price | expanded_price |
+---------+----------+------------+----------------+
| ANV01 | 10 | 5.99 | 59.90 |
| ANV02 | 3 | 9.99 | 29.97 |
| TNT2 | 5 | 10.00 | 50.00 |
| FB | 1 | 10.00 | 10.00 |
+---------+----------+------------+----------------+
4 rows in set (0.04 sec)