在最近的开发中遇见一个问题,就是将一个用逗号分割的字符串分成多条插入到表格中(在存储过程中的逻辑),虽然不知道大家是否还有其他解决方案,但是在这里我就先说一下我的解决方案。
我的方法是先把字符串转化成一列表格,然后将这列表格一条条加到插入语句中,最终执行插入语句,在这里,我就说一下我是如何将字符串转化成一列表格(我是用sql server数据库中的XML属性来解决的)。
select
b.text --4.查出text值
from
(select [text]=convert(xml,'<root><v>'+replace('ab,bc,cd,ef',',','</v><v>')+'</v></root>'))a
--1.将逗号用xml标签替换,然后转换成xml格式
outer apply --2.做关联查询
(select [text]=C.v.value('.','nvarchar(100)') from a.[text].nodes('/root/v')C(v))b
--3.将xml内容按照标签替换拆分节点并查出每个节点的value值标记为text
最终结果是:
好了,这个就是这么简单,希望能帮到大家!