split comma separated string into columns
问题 I have a string like this: '1,A;2,B;3,C' Is there anyway that I can split comma separated values into columns then split to rows by ; like below: ID Text 1 A 2 B 3 C 回答1: Try this: declare @s varchar(50) = '1,A;2,B;3,C' --convert string to xml table (I used HTML tags for clarity) declare @xml xml = cast('<tr><td>' + replace(replace(@s, ';', '</td></tr><tr><td>'), ',', '</td><td>') + '</td></tr>' as xml) --query the xml to get SQL table select tbl.col.value('td[1]', 'int') [ID], tbl.col.value(