server sql把一行数据拆成多行

本文介绍了一种使用SQL将逗号分隔的数据列转换为多行记录的方法,通过将数据转化为XML并解析来实现,适用于数据库操作场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把用逗号分隔的某一列数据,拆成多行

原理先把数据转化为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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值