Inside SqlServer 读书随笔:利用XML把类数组的列折成行

本文介绍了一种使用XML来拆分字符串数组的方法,并通过实例演示了如何将IP地址字符串转换为XML格式,进而从中提取各个部分的值。这种方法同样适用于其他形式的字符串数据。

前些日子有处理过一些XML的数据,后来看书时,记得有一种XML拆分数组的方法,这两天大量用到。就记录一下。

--例子是分折一个ip地址,得到每一段的值,当然也可以是其它类数据的数据或列:a-b-c-d或者3,4,5,6之类的
declare @ip varchar(15);
set @ip='192.168.1.123'
--把字串转成XML
declare @ipx xml;
set @ipx=CONVERT(xml,'<x>'+REPLACE(@ip,'.','</x><x>')+'</x>')
--得到4行数据
select @ipx
select T.c.query('data(.)') as r
from @ipx.nodes('/x') T(c)

具体XML方法,可以参考:http://msdn.microsoft.com/en-US/library/ms190798(v=SQL.90).aspx

转载于:https://www.cnblogs.com/Joe-T/archive/2011/11/10/2244738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值