我有一张像
这样的表格create table temp_table (col1 int)
我在此表中有一些数据,如
insert into temp_table
values(1), (2), (3), (4)
现在我希望输出数据如下:
1,2,3,4
我使用了查询:
select cast(col1 as nvarchar)+','
from temp_table
for xml path('')
问题是输出是XML格式的,我需要它以简单的文本/字符串格式。我试着搜索转置,但到处都提到了FOR XML()
而且它没有帮助我。
有什么建议吗?
答案 0 :(得分:3)
declare @temp nvarchar(max)
select @temp = COALESCE(@temp + ', ', '') + CAST(col1 as nvarchar) from temp_table
select @temp
答案 1 :(得分:3)
如果你真的没有用给定的链接得到它:
select STUFF((
SELECT ',' + cast(col1 as nvarchar)
FROM temp_table
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
答案 2 :(得分:1)
尝试此查询
Select STUFF((SELECT ',' + Cast(col1 As nvarchar) FROM temp_table
FOR XML PATH('')), 1, 1, '') As MyColumn