DECLARE @Test table( col1 int)INSERT INTO @Test SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 1 UNION ALL SELECT 4 UNION ALL SELECT 5;WITH CTE AS(SELECT CAST( (SELECT CAST( col1 AS varchar(10))+ ',' FROM @Test b FOR XML PATH('') ) AS VARCHAR(MAX)) concat_string )SELECT LEFT( concat_string, LEN(concat_string) - 1)FROM CTE
DECLARE @Test table( col1 int)INSERT INTO @Test SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 1 UNION ALL SELECT 4 UNION ALL SELECT 5;DECLARE @S VARCHAR(8000);SELECT @S = COALESCE(@S, '') + CAST(col1 AS VARCHAR(10)) + ',' FROM @Test;SELECT LEFT(@S, LEN(@S)-1); --LEFT is to remove comma at the end
WITH CTE AS(SELECT CAST( (SELECT CAST( col1 AS varchar(10))+ ',' FROM @Test b FOR XML PATH('') ) AS VARCHAR(MAX)) concat_string )SELECT STUFF(concat_string,1,1,'')FROM CTE
,2,3,4,5,6,7,1,4,5,
WITH CTE AS(SELECT CAST( (SELECT ',' + CAST( col1 AS varchar(10)) FROM @Test b FOR XML PATH('') ) AS VARCHAR(MAX)) concat_string )SELECT STUFF(concat_string,1,1,'')FROM CTE