首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSQL拆分XML节点

TSQL拆分XML节点
EN

Stack Overflow用户
提问于 2011-05-14 14:16:27
回答 1查看 1.7K关注 0票数 3

如何查询如下所示的表:

代码语言:javascript
复制
DECLARE @test as table (
    [Id] int,
    [Changes] XML
    )

insert into @test VALUES (1,'<insert pk="1"/><insert pk="2"/><delete pk="1"/><delete pk="2"/>')
insert into @test VALUES (2,'<insert pk="3"/>')

以获得此输出?

代码语言:javascript
复制
1, <insert pk="1"/>
1, <insert pk="2"/>
1, <delete pk="1"/>
1, <delete pk="2"/>
2, <insert pk="3"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-14 15:07:55

尝试如下所示:

代码语言:javascript
复制
SELECT 
    ID, 
    XmlChanges.query('.')
FROM
    @test
CROSS APPLY
    Changes.nodes('/*') AS Nodes(XmlChanges)

生成的输出将是:

代码语言:javascript
复制
ID  (No column name)
1   <insert pk="1" />
1   <insert pk="2" />
1   <delete pk="1" />
1   <delete pk="2" />
2   <insert pk="3" />
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6000160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档