您的位置:首页 > 数据库 > MySQL

MySQL学习足迹记录08--创建计算字段--Concat(),AS

2013-07-10 14:57 399 查看
本文所用到的表格数据

mysql> SELECT * FROM vendors;


+---------+----------------+-----------------+-------------+------------+----------+--------------------------------------------+

| vend_id | vend_name | vend_address | vend_city | vend_state | vend_zip | vend_country |

+---------+----------------+-----------------+-------------+------------+----------+---------------------------------------------+

| 1001 | Anvils R Us | 123 Main Street | Southfield | MI | 48075 | USA |

| 1002 | LT Supplies | 500 Park Street | Anytown | OH | 44333 | USA |

| 1003 | ACME | 555 High Street | Los Angeles | CA | 90046 | USA |

| 1004 | Furball Inc. | 1000 5th Avenue | New York | NY | 11111 | USA |

| 1005 | Jet Set | 42 Galaxy Road | London | NULL | N16 6PS | England |

| 1006 | Jouets Et Ours | 1 Rue Amusement | Paris | NULL | 45678 | France |

+---------+----------------+-----------------+-------------+------------+----------+-----------------------------------------------+

6 rows in set (0.00 sec)

1.计算字段并不实际存在于数据库表中,计算字段是在运行时在SELECT语句内创建的。

2.拼接字段Concat()

*拼接:将值连结到一起构成单个值


拼接两个列

[b] eg: [/b]

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)

3.删除右侧多余的空格RTrim()

删除左侧多余的空格LTrim()

删除两侧多余的空格Trim()

以RTrim()为例:

eg:

mysql> SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')')

-> FROM vendors

-> ORDER BY vend_name;


+------------------------------------------------------+

| Concat(RTrim(vend_name),'(',RTrim(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)

4.使用别名(alias),关键字AS

eg:

mysql> SELECT Concat(Trim(vend_name),'(',Trim(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.00 sec)

5.执行算术计算

先检索订单号20005中的所有物品

eg:

mysql> SELECT prod_id,quantity,item_price

-> FROM orderitems

-> WHERE order_num = 20005;


+---------+----------+------------+

| prod_id | quantity | item_price |

+---------+----------+------------+

| ANV01 | 10 | 5.99 |

| ANV02 | 3 | 9.99 |

| TNT2 | 5 | 10.00 |

| FB | 1 | 10.00 |

+---------+----------+------------+

4 rows in set (0.00 sec)

再汇总物品的价格(单价*数量)

eg:

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)

6.MySQL支持的基本算术操作符+,-,*,/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: