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

如何用SQL实现多行Name字段值的字符串拼接?

实现多行字符串拼接的SQL方案

你使用CONCAT()未成功,是因为该函数用于拼接同一行的多个字段,而你需要的是聚合多行的单个字段为一个连续字符串。不同数据库的实现方式如下:

  • MySQL/MariaDB:使用GROUP_CONCAT(),指定空分隔符即可:
SELECT GROUP_CONCAT(Name SEPARATOR '') AS combined_name
FROM your_table_name;

注:若拼接结果超出默认长度限制(1024字节),可调整group_concat_max_len参数扩大上限。

  • SQL Server 2017+:使用STRING_AGG()函数:
SELECT STRING_AGG(Name, '') AS combined_name
FROM your_table_name;

旧版本SQL Server可使用FOR XML PATH方式:

SELECT STUFF(
    (SELECT '' + Name FROM your_table_name FOR XML PATH('')),
    1, 0, ''
) AS combined_name;
  • PostgreSQL:使用STRING_AGG()函数:
SELECT STRING_AGG(Name, '') AS combined_name
FROM your_table_name;
  • Oracle:使用LISTAGG()函数,可通过ORDER BY保证拼接顺序与Id一致:
SELECT LISTAGG(Name, '') WITHIN GROUP (ORDER BY Id) AS combined_name
FROM your_table_name;

内容的提问来源于stack exchange,提问作者Cường Dương

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:25:18