sql - una - Convertir el valor de columna separada por comas en filas
separar por espacio en sql (4)
Probemos el siguiente script:
declare @str varchar(max)
SELECT @str = isnull(@str +'','', '''') + a.Value
FROM (SELECT Value Entityvalue from Table) a
select @str
Tengo una tabla de muestra con datos almacenados como a continuación
Id | String
--------------
1 abc,def,ghi
2 jkl,mno,pqr
Necesito la salida como ...
Id | processedrows
--------------
1 abc
1 def
1 ghi
2 jkl
2 mno
2 pqr
¿Cómo puedo hacer lo mismo con una consulta de selección en SQL Server?
Prueba con esto Obtendrás tu resultado.
SELECT id,
PARSENAME(REPLACE(Split.a.value(''.'', ''VARCHAR(100)''),''-'',''.''),1) ''Values''
FROM
(
SELECT algorithms,
CAST (''<M>'' + REPLACE(string, '','', ''</M><M>'') + ''</M>'' AS XML) AS Data
FROM <TableName>
) AS A
CROSS APPLY Data.nodes (''/M'') AS Split(a)
prueba esto
SELECT A.[id],
Split.a.value(''.'', ''VARCHAR(100)'') AS String
FROM (SELECT [id],
CAST (''<M>'' + REPLACE([string], '','', ''</M><M>'') + ''</M>'' AS XML) AS String
FROM TableA) AS A CROSS APPLY String.nodes (''/M'') AS Split(a);
refiérase aquí
http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html
SELECT EmployeeID,
LTRIM(RTRIM(m.n.value(''.[1]'',''varchar(8000)''))) AS Certs
FROM
(
SELECT EmployeeID,CAST(''<XMLRoot><RowData>'' + REPLACE(Certs,'','',''</RowData><RowData>'') + ''</RowData></XMLRoot>'' AS XML) AS x
FROM @t
)t
CROSS APPLY x.nodes(''/XMLRoot/RowData'')m(n)