SQL Server如何选择一列并将其转换为字符串?

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

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

是否可以编写一条语句,从表中选择列并将结果转换为字符串?

理想情况下,我希望有逗号分隔的值。

例如,假设SELECT语句看起来类似于

SELECT column
FROM table
WHERE column<10

结果是一个值为

|column|
--------
|  1   |
|  3   |
|  5   |
|  9   |

因此,我希望字符串“1,3,5,9”

提问于
用户回答回答于

你可以这样做:

演示

declare @results varchar(500)

select @results = coalesce(@results + ',', '') +  convert(varchar(12),col)
from t
order by col

select @results as results

| RESULTS |
-----------
| 1,3,5,9 |
用户回答回答于
select  stuff(list,1,1,'')
from    (
        select  ',' + cast(col1 as varchar(16)) as [text()]
        from    YourTable
        for     xml path('')
        ) as Sub(list)

SQL Fiddle的示例。

扫码关注云+社区

领取腾讯云代金券