计算字段
有时候,我们需要直接从数据库中检索出转换、计算或格式化的数据,而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。
计算字段并不实际存在于数据库表中。计算字段是运行SELECT
语句内创建的。
字段和列意思基本相同,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。
中有数据库知道SELECT
语句中哪些是实际表列,哪些是计算字段。从客户及角度来讲,计算字段的数据是以与其他列的数据相同的方式返回的。
拼接字段
在MySQL中,可以使用Contact()函数来拼接两个列。
mysql> SELECT Concat(vend_name,'(',vend_country,')') from vendors ORDER BY vend_name;
+----------------------------------------+
| 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.00 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.00 sec)