sql server xml数据解析

如果要将sql server里面的xml字段解析成行数据,可以使用sql server的node()方法。微软文档:https://msdn.microsoft.com/zh-cn/library/ms188282.aspx

下面是一个例子:

ProjectExtraInfos表

 ProjectId(nvarchar) OtherInfos(xml)
1

<OtherInfos>
<ProjectVersion>1.0</ProjectVersion>
</OtherInfos>

2

<OtherInfos>
<ProjectVersion>1.0</ProjectVersion>
<ProjectVersion>1.1</ProjectVersion>
</OtherInfos>

 

 

 

 

 

 

 

 

SELECT T2.Loc.value('.','nvarchar(50)') versions,ProjectId
FROM ProjectExtraInfos
CROSS APPLY OtherInfos.nodes('/OtherInfos/ProjectVersion') as T2(Loc)

结果:

1.0 A28680B3-8F0F-476B-8661-4EC29A4AE334
1.0 C6558A04-5672-4746-9756-65C8E3270AC0
1.1 C6558A04-5672-4746-9756-65C8E3270AC0

posted on 2017-01-19 09:59  tangcn  阅读(170)  评论(0编辑  收藏  举报