計算字段
有時候,我們需要直接從數據庫中檢索出轉換、計算或格式化的數據,而不是檢索出數據,然後再在客戶機應用程序或報告程序中重新格式化。
計算字段並不實際存在於數據庫表中。計算字段是運行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)