SQL xml轉table


創建虛擬表@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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM