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

  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();输出当前日期

  

MySQL创建计算字段的更多相关文章

  1. mysql必知必会--创建计算字段

    计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.下面举 几个例子. * 如果想在一个字段中既显示公司名,又显示公司的地址,但这两 个信息一般包含在不同的表列中. * 城市.州和邮政编码存 ...

  2. mysql创建计算列(5.7以后才有)

    mysql创建计算列   mysql> create table t(id int auto_increment not null,c1 int,c2 int,c3 int as (c1+c2) ...

  3. SQL 必知必会·笔记<5>创建计算字段

    字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一 般称为列,而术语字段通常与计算字段一起使用. 拼接(concatenate) 将值联结到一起(将一个值附加到另一 ...

  4. MySQL必知必会(创建计算字段(field))

    #字段(field)基本上和列(column)的意思相同 SELECT Concat(vend_name, ' (', vend_country, ')') FROM vendors ORDER BY ...

  5. Bug解决:mysql 创建表字段Double类型长度

    excel导入数据进行新增时,发现安装高度和可视距离在数据库创建都是double类型 程序跑完,执行成功后,数据库的数据是2,小数点后的数据没有了 打印sql并执行后发现sql并没有错误, 检查数据库 ...

  6. mysql创建计算列

    mysql> create table t(id int auto_increment not null,c1 int,c2 int,c3 int as (c1+c2),primary key( ...

  7. mysql 创建时间字段

    alter table table1 add order_date datetime null; mysql> select * from table1; +----------+------- ...

  8. MySQL快速回顾:计算字段与函数

    9.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.比如: 如果想要在一个字段中既显示公司名,又显示公式的地址,但这两个信息一般包含在不同的表列中. 城市.州和邮政编码存储在不同的列 ...

  9. SQL必知必会 -------- 通配符、计算字段、函数

    1.LIKE操作符 1.1百分号(%)通配符 SELECT prod_id, prod_name FROM Products WHERE prod_name LIKE 'Fish%' 此例子使用了搜索 ...

随机推荐

  1. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(一)

    [MyEclipse最新版下载] 一.创建一个EJB项目 1. 选择File>New Project,选择EJB Project,然后单击Next. 2. 在Project name字段中输入f ...

  2. 集成学习-xgboost

    等同于xgboost是个准曲率很高的集成学习框架,在很多比赛中成绩优异. 大多数的集成学习都使用决策树作为基分类器,主要是因为本身要训练多个分类器,而决策树速度很快,总体时间相对较少. 决策树 在讲x ...

  3. 强化学习6-MC与TD的比较-实战

    # encoding:utf-8 import numpy as np import matplotlib.pylab as plt ''' 随机行走问题 0 - 1 - 2 - 3 - 4 - 5 ...

  4. YLZ开发后端外网编写

    如何取得前端的值并做处理 // 调用ESB来获取Ajaxpagerespon获得审核记录 @RequestMapping(value = "/queryBydwId", metho ...

  5. 利用python将数据转存入sqlite3

    案例的目标是将存在文件中的json格式数据转存到sqlite数据库中.因此,需要利用python逐行读取json文件中数据,对数据进行解析和入库.具体操作步骤如下: 1.逐行读取json文件 for ...

  6. Ubuntu16.04阿里云源

    16.04源 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://m ...

  7. 处理tcp里的粘包问题

    typedef struct _CONN_BUFFER { uint8_t buffer[CONN_BUFFER_LENGTH]; uint32_t tail; uint64_t id; time_t ...

  8. PHP设计模式之工厂模式(转)

    概念 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式. 使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地 ...

  9. C++指针易错点梳理

    1 指针定义 指针是一个变量:指针的值是另一个变量的地址.变量的声明 type *var-name; var-name 是指针变量的名称.星号是用来指定一个变量var-name是指针变量. int * ...

  10. Django组件之分页器

    分页器 简单的分页器实现 views.py from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger from ap ...