mysql GROUP_CONCAT 函数使用 以及注意事项

不就是钱嘛,说得谁不缺似的。

 

GROUP_CONCAT 使用方法

eg:

SELECT GROUP_CONCAT(`User` SEPARATOR '*') FROM `user` 

结果会以*连接显示,默认是 逗号

 

 

 

在进行特殊查询的语句中,无意中使用到了,group_concat 函数,开始以为感觉有这个函数挺好的,但是使用一段时间,发现和数据出现了问题,然后追踪原因,才发现group_concat 函数有点坑,

自动截取,只能保留1024字符,所以如果你分组的数据查询的长度过长,就会自动截取,结果让你意向不到,还不知道出现的原因是什么。

(在utf-8字符集中 一个汉字三个字节)

(在gbk字符集中 一个汉字2个字节)

 

show variables likle "group_concat_max_len" 就可以查到当前的长度

 

 

如果想改变其值,那么就应该进行相关的设置,全局或者session 当中进行设置

SET GLOBAL group_concat_max_len=102400;

SET SESSION group_concat_max_len=102400;

 

进行设置 如图

 

posted @ 2021-08-16 09:09  方达达  阅读(1463)  评论(0编辑  收藏  举报