sql - obtener una cadena delimitada por comas de las filas
sql-server tsql (2)
Esta pregunta ya tiene una respuesta aquí:
¿Cuál será la consulta en MS Sql Server para concatenar mis filas en una cadena, delimitada por comas ( como se muestra a continuación )
Suponiendo que el nombre de su columna es
NAME
y el nombre de la tabla es
MYTABLE
, puede usar la siguiente consulta:
DECLARE @strTemp VARCHAR(MAX)
SET @strTemp = ''''
SELECT @strTemp = @strTemp + ISNULL(NAME,'''') + '',''
FROM MYTABLE
--Remove last comma
SET @strTemp = SUBSTRING(@strTemp ,1,LEN(@strTemp ) -1)
--Get Result
SELECT @strTemp
Puede filtrar registros nulos utilizando lo siguiente
SELECT @strTemp = @strTemp + NAME + '',''
FROM MYTABLE
WHERE NAME IS NOT NULL
Cree y complete una tabla de muestra (guárdenos este paso en sus preguntas futuras)
DECLARE @T AS TABLE
(
Name varchar(10)
)
INSERT INTO @T VALUES
(''John''),
(''Vicky''),
(''Sham''),
(''Anjli''),
(''Manish'')
La consulta:
SELECT STUFF((
SELECT '','' + Name
FROM @T
FOR XML PATH('''')
), 1, 1, '''') As [output];
Resultados:
output
John,Vicky,Sham,Anjli,Manish