mysql从头开始(8)

创建计算字段

计算字段

从数据库中检索出转换、计算或者格式化过的数据,而不是检索出数据,然后在客户机程序中重新格式化。
字段:基本上与列(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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值