把用逗号分隔的某一列数据,拆成多行
原理先把数据转化为xml,然后通过xml的解析实现拆分
SELECT
A.field,
B.field1
FROM (
SELECT field,
field1 = CONVERT(xml, '<root><v>' + REPLACE(CONVERT(varchar(100), field1), ',', '</v><v>') + '</v></root>')
FROM tablename
) A OUTER APPLY
(SELECT
field1 = N .v.value('.', 'varchar(100)')
FROM A.field1.nodes('/root/v') N (v)) B