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

如何在SQL Server中从单字母列的表中拼接出YASEEN

实现单字符列拼接成目标字符串YASEEN

现有表Test_YY,列str_Col存储单个字符,需要将这些字符按顺序拼接成字符串YASEEN。首先修正原建表语句的列名错误(原语句列名与需求不符):

create table Test_YY (str_Col char(1))

insert into  Test_YY
select 'Y'
UNION ALL
select 'A'
UNION ALL
select 'S'
UNION ALL
select 'E'
UNION ALL
select 'E'
UNION ALL
select 'N'

以下是不同数据库环境下的实现方案:

SQL Server 环境

高版本(2017+):使用STRING_AGG函数

直接按顺序拼接,语法简洁:

SELECT STRING_AGG(str_Col, '') AS ConcatenatedString
FROM Test_YY

低版本(2017以前):使用FOR XML PATH拼接

如果不支持STRING_AGG,可以用XML拼接后去除冗余:

SELECT STUFF(
    (SELECT '' + str_Col 
     FROM Test_YY 
     FOR XML PATH('')),
    1, 0, '') AS ConcatenatedString

MySQL 环境

使用GROUP_CONCAT函数,注意显式指定排序以保证顺序:

SELECT GROUP_CONCAT(str_Col ORDER BY (SELECT 0) SEPARATOR '') AS ConcatenatedString
FROM Test_YY;

注:ORDER BY (SELECT 0)用于保持插入顺序,若表中有自增主键或排序字段,可替换为对应字段。

Oracle 环境

使用LISTAGG函数,结合ROWNUM保证插入顺序:

SELECT LISTAGG(str_Col, '') WITHIN GROUP (ORDER BY ROWNUM) AS ConcatenatedString
FROM Test_YY;

内容的提问来源于stack exchange,提问作者Muhammad Yaseen Mengal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:36:01