首页 > 数据库技术 > 详细

SQL xml转table

时间:2016-12-01 13:45:37      阅读:188      评论:0      收藏:0      [点我收藏+]

创建虚拟表@Tmp

DECLARE @Tmp TABLE(ID INT,Resulr XML)

--插入数据

INSERT INTO @Tmp (ID,Resulr) VALUES (1,<root><row><ID>1</ID><score>80</score></row><row><ID>2</ID><score>85</score></row></root>)
INSERT INTO @Tmp (ID,Resulr) VALUES (2,<root><row><ID>1</ID><score>90</score></row><row><ID>2</ID><score>75</score></row></root>)

--原结果集

SELECT * FROM @Tmp AS t

技术分享

<root>
  <row>
    <ID>1</ID>
    <score>80</score>
  </row>
  <row>
    <ID>2</ID>
    <score>85</score>
  </row>
</root>

--查询结果

SELECT t.ID,a.c1.value(ID[1],int) AS xID
    ,a.c1.value(score[1],int) AS score
FROM @Tmp AS t CROSS APPLY t.Resulr.nodes(root/row) a (c1)

技术分享

 

SQL xml转table

原文:http://www.cnblogs.com/tianmoxin/p/6121326.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!