导航

SQLXML 字符串 表若干行

Posted on 2014-03-20 17:09  DotNet1010  阅读(115)  评论(0)    收藏  举报


declare @detailIds varchar(max)
----undefined|6265|6264|6263
SET @detailIds='undefined|6265|6264|6263'

SET @detailIds=RTrim(LTrim(REPLACE(@detailIds,'undefined|','')))
---SELECT @detailIds
SET @detailIds='<id>' + REPLACE(@detailIds,'|','</id><id>') + '</id>'
---SELECT @detailIds

declare @myXml xml
select @myXml=CONVERT(xml,@detailIds)
 
declare  @detailIDTable table(ID varchar(100))

insert into @detailIDTable(ID)    
SELECT N.v.value('.', 'varchar(100)') FROM @myXml.nodes('/id') N(v)

select * from @detailIDTable