una texto separar separado por espacios dividir delimitada consulta comas columnas charindex caracter cadena buscar sql sql-server sql-server-group-concat

sql - texto - Varias filas a un valor separado por comas



separar por comas en sql (1)

Quiero crear una función con valores de tabla en SQL Server, que deseo devolver datos en valores separados por comas.

Por ejemplo table: tbl

ID | Value ---+------- 1 | 100 1 | 200 1 | 300 1 | 400

Ahora cuando ejecuto la consulta usando la función Func1(value)

SELECT Func1(Value) FROM tbl WHERE ID = 1

La salida que quiero es: 100,200,300,400


Datos de prueba

DECLARE @Table1 TABLE(ID INT, Value INT) INSERT INTO @Table1 VALUES (1,100),(1,200),(1,300),(1,400)

Consulta

SELECT ID ,STUFF((SELECT '', '' + CAST(Value AS VARCHAR(10)) [text()] FROM @Table1 WHERE ID = t.ID FOR XML PATH(''''), TYPE) .value(''.'',''NVARCHAR(MAX)''),1,2,'' '') List_Output FROM @Table1 t GROUP BY ID

Conjunto resultante

╔════╦═════════════════════╗ ║ ID ║ List_Output ║ ╠════╬═════════════════════╣ ║ 1 ║ 100, 200, 300, 400 ║ ╚════╩═════════════════════╝