mysql字符串拼接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql字符串拼接相关的知识,希望对你有一定的参考价值。

参考技术A 说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

结果:

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

GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY unsigned_integer | col_name | expr [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])
说明:
DISTINCT:去除重复值
expr [,expr ...]:一个或多个字段(或表达式)
ORDER BY unsigned_integer | col_name | expr [ASC | DESC] [,col_name ...]:根据字段或表达式进行排序,可多个
SEPARATOR str_val:分隔符(默认为英文逗号)

group_concat()函数在处理大数据的时候,会发现内容被截取了
其实mysql内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改配置文件

MySQL 对分组后的同类数据进行拼接字符串

MySQL 对分组后的同类数据进行拼接字符串

写后台方法时遇到个问题,需要将表内同一订单号的操作记录流水进行简单拼接输出,不想取出来再操作,找了个mysql的方法直接操作

group_concat对组内的每一行数据拼接,内部可以排序、使用separator 进行分割
concat_ws对一行内的各个字段进行拼接,第一项指定分隔符,后续的有null会忽略
select oid, group_concat(concat_ws(‘|‘,atime,(select `level` from prizes where id=win_prize ),win_name) order by atime desc separator ‘    ‘ ) flowrecord from order_logs group by oid;

以上是关于mysql字符串拼接的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库的函数使用:使用字符串拼接函数实现MySQL查询结果的拼接

MySQL字符串的拼接截取替换查找位置

MySQL字符串的拼接截取替换查找位置

字符串拼接的五种方式

MySQL的sql语句如何将一列数据拼接成一个字符串?

MySQL 对分组后的同类数据进行拼接字符串