Convert Comma Separated column value to rows Convert Comma Separated column value to rows sql-server sql-server

Convert Comma Separated column value to rows


try this

 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); 

refer here

http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html


SELECT EmployeeID,LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)'))) AS CertsFROM(SELECT EmployeeID,CAST('<XMLRoot><RowData>' + REPLACE(Certs,',','</RowData><RowData>') + '</RowData></XMLRoot>' AS XML) AS xFROM   @t)tCROSS APPLY x.nodes('/XMLRoot/RowData')m(n)


New way of doing this:

    SELECT         a.Id,         b.value    FROM         Sample a          cross apply string_split(a.string,',') b