mysql-计算字段
一、计算字段
存储在数据库表中的数据一般不是应用程序所需要的格式
1、如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的字段中。
2、城市、州和邮编存储在不同的列中,但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来。
3、列数据是大小写混合的,但是报表程序需要的所有数据按大写表示出来。
4、物品订单的总价格一般是不存储到数据中的,但是我们需要。
我们需要计算字段,计算字段并不存在于数据库中,而是运行时在select语句内创建的。
二、拼接字段
拼接字段(concatenate):将值连接到一起构成单个值。使用concat函数来拼接两个列。例如:
select concat(vend_name,'(',vend_country,')') from vendors order by vend_name;
concat()拼接串,即把多个串连接起来形成一个较长的串。它需要一个或多个指定的串,各个串之间用逗号分隔。
select concat(rtrim(vend_name),'(',rtrim(vend_country),')') from vendors order by vend_name;
rtrim:函数去掉右边的空格,通过使用rtrim(),各个列都进行了整理。同理,ltrim(),trim()一样道理。
三、使用别名:别名是一个字段或者值的替换名,用AS关键字赋予。
select concat(rtrim(vend_name),'(',rtrim(vend_country),')') as vend_title from vendors order by vend_name;
输出结果和上面两个相同,不过标题换成了vend_title.
四、执行算术计算:对检索出来的数据进行算术运算
orders表包含收到的所有订单,orderitems表包含每个订单中的各项物品。如下:
select prod_id,quantity,item_price from orderitems where order_num=20005;
item_price列包含订单中每项物品的单价,如下:
select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems where order_num=20005;
以上语句的expanded_price列为一个计算字段(别名,作为一个物品的总价)
mysql中支持如下表中列出的基本算术运算符,此外,圆括号可用来区分优先顺序。
+ 加
- 减
* 乘
/ 除
mysql-计算字段的更多相关文章
- MySQL计算字段
计算字段 数据库中存放的表是按列存放,可是有时客户机想获得的信息是若干列之间的组合,或者求和的值.这个组合或者求和的动作能够放在客户机应用程序来做.可是在数据库中实现更为高效. 这个新计算出来的结果就 ...
- MySql计算字段的长度
用户账号有用中文字符,查找所有含有中文字符的账号 SELECT member_name FROM table_member WHERE length(member_name)!=char_length ...
- MySQL创建计算字段
数据库中数据表的格式一般不是应用程序所需要的格式,如: 在一个字段中既显示公司名有显示公司地址,但这两个数据一般不在一张表中 城市,州和邮政编码在不同的列中,但邮件标签打印程序需要把他们作为一个恰当的 ...
- MySQL快速回顾:计算字段与函数
9.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.比如: 如果想要在一个字段中既显示公司名,又显示公式的地址,但这两个信息一般包含在不同的表列中. 城市.州和邮政编码存储在不同的列 ...
- mysql必知必会--创建计算字段
计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.下面举 几个例子. * 如果想在一个字段中既显示公司名,又显示公司的地址,但这两 个信息一般包含在不同的表列中. * 城市.州和邮政编码存 ...
- 读书笔记--SQL必知必会07--创建计算字段
7.1 计算字段 字段(field),基本与列(column)含义相同. 利用计算字段可以直接从数据库中检索出转换.计算或格式化过的数据. 计算字段不实际存在于数据库表中,是运行时在SELECT语句内 ...
- SQL学习之计算字段的用法与解析
一.计算字段 1.存储在数据库表中的数据一般不是应用程序所需要的格式.大多数情况下,数据表中的数据都需要进行二次处理.下面举几个例子. (1).我们需要一个字段同时显示公司名和公司地址,但这两个信息存 ...
- MySQL中字段类型为timestamp的小坑
之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14 ...
- mysql计算排名 转
from :http://www.cnblogs.com/aeiou/p/5719396.html http://www.cnblogs.com/zengguowang/p/5541431.html ...
- SQL必知必会 -------- 通配符、计算字段、函数
1.LIKE操作符 1.1百分号(%)通配符 SELECT prod_id, prod_name FROM Products WHERE prod_name LIKE 'Fish%' 此例子使用了搜索 ...
随机推荐
- 简单实现双向数据绑定mvvm。
- oracle 控制语句
PL输出语句 set serverout on; -- 开启PL的输出语句功能declare n number:=1; -- 声明一个number型的变量n,并赋值为1 v varchar2(20): ...
- MyBatis学习总结(2)——使用MyBatis对表执行CRUD操作
一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- java应届生面试考点收集
回 到 顶 部 这些知识点来自于之前去百度实习.阿里.蘑菇街校园招聘的电话面试 未完待续 JavaSE 面向对象 封装.继承.多态(包括重载.重写) 常见区别 String.StringBuffer. ...
- 极路由设置共享磁盘密码、跨网访问samba服务
极路由插上移动硬盘后会自动建立samba服务器,但我们没法去配置哪些盘符需要密码,这样只要在同一个wifi下的电脑都能去访问这些东西了,比较弱智.另外我还想再公司中去读写这个移动硬盘. 设置密码 首先 ...
- jdk动态代理(转)
一旦这样绑定后,那么在进入代理对象方法调用的时候就会到HelloServiceProxy的invoke方法上,invoke方法有三个参数:第一个proxy是代理对象,第二个是当前调用那个方法,第三个是 ...
- 鸟哥的Linux私房菜-----11、压缩指令与正则表示法
- ORA-38760: This database instance failed to turn on flashback database
ORA-38760: This database instance failed to turn on flashback database 问题背景: 測试数据库运行shutdown ...
- Linux就该这么学 20181005(第九章SSH远程对话)
参考链接https://www.linuxprobe.com/ nmtui开启网卡设置 ONBOOT=yes systemctl restart network nmcli connection sh ...
- 3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...