MySQL 字符串拼接

MySQL 大约 868 字

concat() 函数

拼接时不会忽略空格,但如果有值是null,则结果为null

select concat('My','S','Q','L');

->MySQL

SELECT CONCAT(' c ');

-> c 

SELECT CONCAT(id, name) from user2;
->
1张三
2李四

concat_ws() 函数

拼接时不会忽略空格,但会忽略null

select concat_ws('-', 'My','S','Q','L');

->My-S-Q-L

SELECT CONCAT_WS('-','a');

->a

SELECT CONCAT_WS('-',null);

->
# 空串

group_concat() 函数

拼接列

group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

长度问题:

show variables like 'group_concat_max_len';

->1024

# 默认1024,超过就会截断

修改长度

my.confmy.ini中添加

max_allowed_packet=20M
group_concat_max_len = 102400000

查询:

SHOW VARIABLES LIKE "group_concat_max_len"; 
重启mysql服务

经过测试,下面方法不好使

SET GLOBAL group_concat_max_len=1024000;
SET @@GROUP_CONCAT_MAX_LEN = 1024000;

SQL

SELECT GROUP_CONCAT(DISTINCT name) from user2;

->张三,李四

SELECT GROUP_CONCAT(id, `name`) from user2

->1张三,2李四
阅读 1214 · 发布于 2019-04-07

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批