一、计算字段

有时候,数据库中的数据格式不一定是使用所需要的数据格式,需要对原数据进行拼接、裁剪、计算等操作,这时就要创建计算字段。

1 拼接

顾名思义,拼接就是将原属于表中两个列的字段拼成一个列,在其他的大部分DBMS中,拼接往往通过+ 或者||来实现,而在MySQL中,需要借用Concat函数来实现,如下列,将原顾客名称、顾客国家拼成一个列:

2.命名

在拼接工作完成后,新得到的列实现了计算功能,但是并没有名字,我们需要利用AS 关键字为其命名:

(Rtrim()为去除右侧空格的函数,相关的还有Ltrim()去除左边空格、Trim() 去除左右两边空格)

3,执行算术计算

MySQL支持加减乘除几个基本的算数操作符(+ - * /):

二、函数

和其他的DBMS一样,SQL支持利用函数来处理数据,前面的Rtrim等就是函数,但是需要注意的是,不同DBMS之间的函数兼容性并不好,所以在使用了函数时,最好做好注释,为以后可能的DBMS 之间的移植提供方便。

大多数SQL 支持以下几种类型 的函数:

(1) 处理文本串的文本函数(如大小写,删除或者填充值等等)

(2)用在数值数据上进行算术操作的数值函数

(3)用于处理日期和时间并从这些值中提取特定成分的日期和时间函数

(4)返回DBMS正使用的特殊信息(如返回用户登录信息、检查版本信息)的系统函数。

(1)文本处理函数

left()    返回串左边的字符

length()    返回串的长度

locate()    返回串的一个子串

lower()    将串转换为小写

Ltrim()    去掉串左边的空格

Right()    返回串右边的字符

Rtrim() 去掉串右边的空格

Soundex()    返回串的Soundex值

SubString()    返回字串的字符

Upper()    将串转换为大写

例子如下:

其中soundex函数值得解释一下,这是根据读音来进行匹配的函数,有时候知道数据的大致读音但并不精确知道数据,就可以利用这个函数匹配数据库中读音类似或者相同的数据,如数据为Y.Lee,但利用读音相近的Y.lie也可以匹配:

(2)日期和时间函数

在SQL 中,日和时间函数使用特殊的数据类型和格式储存,日期和时间函数就是用来读取、统计和处理这些值。

AddDate()    增加一个日期

AddTime()    增加一个时间

CurDate()    返回当前日期

CurTime()    返回当前时间

Date()    返回日期时间的日期部分

DateDiff()    计算两个日期之差

Date_Add()    日期运算函数

Date_Format()    返回一个格式化的日期或者时间串

Day()   返回一个日期的天数部分

Day0fweek()     返回一个日期对应的星期几

Hour()    返回一个时间的小时部分

Minute()    返回一个时间的分钟部分

Month()    返回一个日期的月份部分

Now() 返回当前时间和日期

Second()    返回一个时间的秒数部分

Time()    返回一个日期时间对应的时间部分

Year()    返回一个日期的年数部分

在SQL中不管是更新还是插入新的时间数据时,都需要使用固定的日期格式:yyyy-mm-dd,使用两位数的年份SQL 也可以识别,但可能会造成不必要的误解,这也是编码的一个好习惯。

但在进行日期数据匹配时,我们并不能保证数据库中 的数据格式是yyyy-mm-dd还是yyyy-mm-dd hh-mm-ss,如果是后者,再使用select进行搜索,where date=‘2005-09-01’这样的条件行就永远不会返回数据,因此,在匹配之前,最好使用date()函数将时间数据格式固定为日期格式,就算之后时间数据格式有没有变化,代码都不用修改。

例:返回2005年9月份的订单行

有两种方法:

(3)数值处理函数

数值处理函数是DBMS中一致性最高的函数类型

Abs()    返回绝对值

Cos()    返回余弦值

Exp()    返回一个数的指数值

Mod()    返回除操作的余数

Pi()    返回圆周率

Rand()    返回一个随机数

Sin()    返回正弦值

Sqrt()    返回平方根

Tan()    返回正切值

mysql拼接两个字段_重拾MySQL之创建计算字段和函数相关推荐

  1. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

  2. MySQL上手实训———陪你重拾MySQL(一)

  3. mysql中将某个字段做计算,mysql创建计算字段使用子查询教程

    作为计算字段使用子查询 使用子查询的另一方法是创建计算字段.假如需要显示 customers表中每个客户的订单总数.订单与相应的客户ID存储在 orders 表中. 为了执行这个操作,遵循下面的步骤. ...

  4. Tableau创建计算字段

    问题:Tableau可视化图表呈现每日新增用户情况 解决:根据数据结构创建计算字段,写出函数判断 1.Tableau左下角度量区域,右键创建计算字段,命名为新增用户 2.右键新增用户,编辑函数判断 C ...

  5. tableau创建计算字段,进行年龄段分类

    分析-创建计算字段,可对字段进行计算 if (DATEDIFF('year',[birthday],NOW()) <=18) then '未成年' ELSEIF ( 19<=DATEDIF ...

  6. Excel 数据透视表教程大全之 08 创建计算字段,将销售额除以数量实现计算每种产品单价(教程含数据)

    标准数据透视表具有创建计算字段的简单功能.您可以将计算字段视为源数据中的虚拟列.计算字段将出现在字段列表窗口中,但不会占用源数据中的空间.在所示示例中,已使用将销售额除以数量的公式创建了一个名为&qu ...

  7. MySQL必知必会03_创建计算字段和拼接字段

    通常,存储在表中的数据都不是应用程序所需要的.我们需要直接从数据库中检索出转换.计算或格式化过的数据:而不是 检索出数据,然后再在客户机应用程序或报告程序中重新格式化计算字段并不实际存在于数据库表中. ...

  8. mysql不停止重启服务器_不停止MySQL服务增加从库的两种方式

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  9. mysql root用户可以同时几个人连接_重学MySQL系列(四):10分钟快速掌握MySQL用户与权限管理

    在这篇文章中,我们来聊聊怎么管理MySQL的用户及如何为不同用户分配不同的管理权限,其实,在日常使用MySQL的过程中,这部分的工作是由DBA(数据管理员)来完成的. 而我们作为一般的开发人员,只要拿 ...

最新文章

  1. Java面试题之Oracle 支持哪三种事务隔离级别
  2. 计算机网络系统集成策略实现摘要,计算机网络集成策略实现探析
  3. 【Android】ContentProvider和Uri详解
  4. 95-40-032-java.util.concurrent-ConcurrentHashMap
  5. centos 6.3最小化安装,无法上网解决方法
  6. Python type创建类
  7. 计算机组成原理第二章测试题,计算机组成原理第二章习题答案.doc
  8. mongo报错WiredTiger.wt, connection: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted
  9. 购物搜索引擎架构的变与不变
  10. 【交通流预测】基于matlab BP神经网络短时交通流预测【含Matlab源码 687期】
  11. 左耳朵耗子:公司监控员工行为,这事逻辑就不对
  12. 通用型二阶卡尔曼滤波算法
  13. 中国新能源汽车电机及控制器行业需求态势与十四五方向分析报告2021年版
  14. flutter 轮播组件 Swiper
  15. 微信小应用第一天(简介)
  16. Java埋码_oCPC JS SDK 基础代码安装指南
  17. VMware Workstation Pro 修改显示语言
  18. 第一台数字电子计算机占地面积为,计算机应用基础教学课件作者刘凤第1章.ppt...
  19. 基于php的乐山旅游攻略网站
  20. PS动作怎么一键给照天添加烟雾效果图

热门文章

  1. python中值滤波去除椒盐噪声_python 中值滤波,椒盐去噪,图片增强实例
  2. 树莓派3 有线静态路由设置_clash在树莓派
  3. php显示玩家,php.取得玩家IP
  4. iphonex黑屏开不了机_iphonex黑屏就算强制开机也开不了,是什么原因?_杭州维修...
  5. gdb set写text/code段错误的解决办法
  6. vscode php输出,js程序如何在vscode控制台输出
  7. github流程图_「强烈推荐」开源的在线流程图工具--draw.io
  8. python运算符括号_Python合集之Python运算符(四)
  9. laravel修改storage目录和bootstrap目录
  10. python如何进行大到小排序_Python3基础 list sort 从小(大)到大(小)排序