Inside SqlServer 讀書隨筆:利用XML把類數組的列折成行

前些日子有處理過一些XML的數據,後來看書時,記得有一種XML拆分數組的方法,這兩天大量用到。就記錄一下。node

--例子是分折一個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)
相關文章
相關標籤/搜索