SQL Server 关于 SQL 分割字符的 XML 方式

wangbaochen · 2019年09月16日 · 67 次阅读
create table #1(something varchar(100))
insert into #1(something)
values('314,24;234,12')

declare @xml xml
select @xml = convert(xml,'<root><x><b>' + replace(REPLACE([something], ';', '</v></x><x><b>'),',','</b><v>') + '</v></x></root>') from #1

select id = o.value('b[1]', 'varchar(100)'),
              name = o.value('v[1]', 'varchar(100)')
from (select x = @xml)a
       cross apply x.nodes('/root') x(v)
       cross apply v.nodes('x') y(o)

这个代码是实现什么效果?用在什么场景,最好交待一下给读者~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册