2010-06-23 68 views

回答

5
DECLARE @Concat varchar(max) 

select @Concat = CAST(recordid as varchar(10)) + coalesce(',' + @Concat , '') 
from device 
where accountid in (1,2) 

SELECT @Concat 
+0

避免不必要的逗號的智能方式... – 2010-06-23 11:31:12

+0

是的這就解決了我的問題 謝謝 – Dharma 2010-06-23 11:48:30

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 
0

你也可以編寫一個自定義的CLR aggregate function,它最終可以比使用字符串連接(特別是對於一個非常大的結果集)更加優化。

相關問題