可能重复:
How do I Create a Comma-Separated List using a SQL Query?是否可以将SQL单列结果作为逗号分隔的字符串?
我工作的一个Web应用程序。我需要单列选择的SQL查询,如
select
recordid
from
device
where
accountid in (1,2))
我需要这个结果格式化从逗号分隔的字符串从SQL。
可能重复:
How do I Create a Comma-Separated List using a SQL Query?是否可以将SQL单列结果作为逗号分隔的字符串?
我工作的一个Web应用程序。我需要单列选择的SQL查询,如
select
recordid
from
device
where
accountid in (1,2))
我需要这个结果格式化从逗号分隔的字符串从SQL。
DECLARE @Concat varchar(max)
select @Concat = CAST(recordid as varchar(10)) + coalesce(',' + @Concat , '')
from device
where accountid in (1,2)
SELECT @Concat
您可以使用这样的事情:
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
你也可以编写一个自定义的CLR aggregate function,它最终可以比使用字符串连接(特别是对于一个非常大的结果集)更加优化。
避免不必要的逗号的智能方式... – 2010-06-23 11:31:12
是的这就解决了我的问题 谢谢 – Dharma 2010-06-23 11:48:30