You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中如何拼接字符串值?使用STRING_AGG函数提示不存在的问题排查

问题根源

STRING_AGG是SQL Server、PostgreSQL等数据库原生支持的字符串聚合函数,但MySQL并不提供这个函数,这就是你收到报错的原因。

解决方案:改用MySQL的GROUP_CONCAT()函数

你只需要把STRING_AGG替换为MySQL专属的GROUP_CONCAT(),并通过SEPARATOR指定分隔符即可,修改后的SQL如下:

SELECT city, GROUP_CONCAT(email SEPARATOR ';') AS email_list 
FROM sales.customers 
GROUP BY city;
额外注意事项
  • 默认情况下,GROUP_CONCAT()的分隔符是逗号(,),所以必须显式通过SEPARATOR ';'指定你需要的分号分隔符。
  • 如果拼接后的字符串过长,可能会被自动截断——这是因为MySQL默认的group_concat_max_len参数值偏小(通常是1024或4096字节)。你可以临时调整会话级别的参数:
    SET SESSION group_concat_max_len = 1000000; -- 根据实际需求设置合适的长度
    
    要是需要永久生效,可以在MySQL的配置文件(如my.cnf或my.ini)中添加以下配置,然后重启服务:
    [mysqld]
    group_concat_max_len = 1000000
    

内容的提问来源于stack exchange,提问作者Shadow Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 20:47:28