将列值转换为逗号分隔的列表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

什么是TSQL语法来格式化?

CarID    CarName  
----------------
    1    Porsche  
    2    Mercedes  
    3    Ferrari  

怎样才能得到汽车的名字:Porsche, Mercedes, Ferrari

提问于
用户回答回答于

可以使用coalesce例如,从表中的记录连接一系列字符串。

declare @aa varchar (200)
set @aa = ''

select @aa = 
    case when @aa = ''
    then CarName
    else @aa + coalesce(',' + CarName, '')
    end
  from Cars

print @aa
用户回答回答于
SELECT LEFT(Car, LEN(Car) - 1)
FROM (
    SELECT Car + ', '
    FROM Cars
    FOR XML PATH ('')
  ) c (Car)

扫码关注云+社区