【问题标题】:get a comma delimited string from rows [duplicate]从行中获取逗号分隔的字符串[重复]
【发布时间】:2017-06-06 20:52:41
【问题描述】:

MS Sql Server 中将我的行连接成一个字符串的查询是什么,用逗号分隔(如下所示

【问题讨论】:

标签: sql sql-server tsql sql-server-2012


【解决方案1】:

使用STUFFFOR XML

创建并填充示例表(在您以后的问题中保存我们这一步)

DECLARE @T AS TABLE
(
    Name varchar(10)
)

INSERT INTO @T VALUES
('John'),
('Vicky'),
('Sham'),
('Anjli'),
('Manish')

查询:

SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') As [output];

结果:

output
John,Vicky,Sham,Anjli,Manish

【讨论】:

    【解决方案2】:

    假设您的列名是 NAME 并且表名是 MYTABLE 您可以使用以下查询:

    DECLARE @strTemp VARCHAR(MAX)
    
    SET @strTemp = ''
    
    SELECT @strTemp  = @strTemp + ISNULL(NAME,'') + ','
    FROM MYTABLE
    
    --Remove last comma
    SET @strTemp = SUBSTRING(@strTemp ,1,LEN(@strTemp ) -1)
    
    --Get Result
    SELECT @strTemp 
    

    您可以使用以下方法过滤空记录

    SELECT @strTemp  = @strTemp + NAME + ','
    FROM MYTABLE
    WHERE NAME IS NOT NULL
    

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 2011-09-07
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2018-07-29
      相关资源
      最近更新 更多