可能重复:
How do I Create a Comma-Separated List using a SQL Query?
我正在开发一个Web应用程序。我需要单列选择的SQL查询,如
select
recordid
from
device
where
accountid in (1,2))
我需要将此结果格式化为逗号分隔的SQL字符串。
答案 0 :(得分:5)
DECLARE @Concat varchar(max)
select @Concat = CAST(recordid as varchar(10)) + coalesce(',' + @Concat , '')
from device
where accountid in (1,2)
SELECT @Concat
答案 1 :(得分:2)
您可以使用以下内容:
DECLARE @result AS VARCHAR(MAX)
SET @result = '' -- initialize with empty string to avoid NULL result
SELECT
@result = @result + ',' + CAST(recordid AS VARCHAR)
FROM
device
WHERE
accountid IN (1,2)
SELECT @result AS recordids
答案 2 :(得分:2)
其他问题详细介绍了这一点,包括:
答案 3 :(得分:0)
您还可以编写自定义CLR aggregate function,它最终可以比使用字符串连接更优化(特别是使用非常大的结果集)。