MySQL创建计算字段

  数据库中数据表的格式一般不是应用程序所需要的格式,如:

  1. 在一个字段中既显示公司名有显示公司地址,但这两个数据一般不在一张表中
  2. 城市,州和邮政编码在不同的列中,但邮件标签打印程序需要把他们作为一个恰当的标签打印出来

拼接字段

  在MySQL中的select语句中可以用concat(或Concat)函数拼接两列,concat需要指定一个或多个串,各串之间用逗号分隔。

select concat(num,'(',grade,')') from stu_info;
+---------------------------+
| concat(num,'(',grade,')') |
+---------------------------+
| 000001(1006)              |
| 000002(1005)              |
| 000003(1009)              |
| 000004(1006)              |
| 000009(2004)              |
| 1(1009)                   |
| 3(1005)                   |
| 4(1009)                   |
| 5(1005)                   |
+---------------------------+
9 rows in set (0.00 sec)

使用别名

  select拼接工作完成后,得到一个新的列,但这个新的列的民字是什么呢,他没有实际名字,只是一个值,但未命名的列不能用于客户机中,因为客户机没办法引用一个未命名的列。

  别名用AS关键字赋予。

select concat(num,'(',grade,')') as new_name from stu_info;
+--------------+
| new_name     |
+--------------+
| 000001(1006) |
| 000002(1005) |
| 000003(1009) |
| 000004(1006) |
| 000009(2004) |
| 1(1009)      |
| 3(1005)      |
| 4(1009)      |
| 5(1005)      |
+--------------+
9 rows in set (0.00 sec)

  任何客户机都可以按名引用这个列。他像实际的列表一样。

执行算数计算

select id,price,price*num as sum_price from order

  sum_price作为一个计算字段,此计算为price*num,用圆括号括起来可区分优先级,支持的算术操作符为:+,-,*,/

拓展

  select实际上就是一个输出语句,select 2*3;输出6,select now();输出当前日期

 

  

posted on 2019-01-29 15:15  tianzeng  阅读(247)  评论(0编辑  收藏  举报

导航