详解mysql中的concat相关函数

所属分类: 数据库 / Mysql 阅读数: 1988
收藏 0 赞 0 分享

一、concat()函数

功能:将多个字符串连接成一个字符串

语法:concat(str1,str2,…) 其中的字符串既可以是数据表字段,也可以是指定的字符串

返回结果为连接参数产生的字符串,如果有任何一个参数为null,则该条记录的返回值为null

二、concat_ws()函数

功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符(concat_ws就是concat with separator)

语法:concat_ws(separator,str1,str2,…)

说明:第一个参数指定分隔符,需要注意的是分隔符不能为null,如果为null,则所有返回结果均为null

三、group_concat()函数

先来看这么个需求:

其中user_id是用户id,fee是消费金额,time是消费时间戳。

在consumption消费记录表中,需要查找出每个用户所有的消费金额明细。

很显然,单一的group by已经不足以实现这个需求了:

select max(time),fee from consumption group by user_id

group by后的字段之间的关系是错层的,我们只能单一的去筛选某个字段,而不能保证它们同属于一条记录。

这个时候就要用到group_concat()函数了:

select user_id,GROUP_CONCAT(time,':',fee) from consumption group by user_id

得到如下结果:

对结果进行数据处理,可以很容易地在页面上展示我们想要的效果。

以上所述是小编给大家介绍的mysql中的concat相关函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Mysql 数据库更新错误的解决方法

Mysql 数据库更新错误的解决方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

mysql主从库不同步问题解决方法

本来配置可以使用的mysql主从库同步的数据库,突然出现无法同步的情况。那么大家可以参考下面的方法解决下。
收藏 0 赞 0 分享

解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误

如果重启服务器前没有关闭mysql,MySql的MyiSAM表很有可能会出现 ERROR #1017 :Can't find file: '/xxx.frm' 的错误
收藏 0 赞 0 分享

linux忘记mysql密码处理方法

这篇文章主要为大家介绍下linux忘记mysql密码处理方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

MySQL 重装MySQL后, mysql服务无法启动

把mysql程序卸载后, 重装, 结果mysql服务启动不了,碰到这个问题的朋友可以参考下。
收藏 0 赞 0 分享

RedHat下MySQL的基本使用方法分享

RedHat 下MySQL安装,简单设置以用基本的使用方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

mysql千万级数据大表该如何优化?

如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下
收藏 0 赞 0 分享

彻底卸载MySQL的方法分享

由于安装MySQL的时候,疏忽没有选择底层编码方式,采用默认的ASCII的编码格式,于是接二连三的中文转换问题随之而来,就想卸载了重新安装MYSQL,这一卸载倒是出了问题,导致安装的时候安装不上,在网上找了一个多小时也没解决。
收藏 0 赞 0 分享

MySQL数据表字段内容的批量修改、清空、复制等更新命令

MySQL数据表字段内容的批量修改、清空、复制等更新命令,需要的朋友可以参考下。
收藏 0 赞 0 分享

MySQL SHOW 命令的使用介绍

MySQL SHOW 命令的使用介绍,使用mysql的朋友可以参考下。
收藏 0 赞 0 分享
查看更多