Sql server SQL Server将XML解析为表-具有相同名称的多个节点
我想将XML解析到SQL Server 2012中的一个表中,在该表中,我的XML具有同名的节点 仅返回第一行的我的SQL查询:Sql server SQL Server将XML解析为表-具有相同名称的多个节点,sql-server,xml,parsing,Sql Server,Xml,Parsing,我想将XML解析到SQL Server 2012中的一个表中,在该表中,我的XML具有同名的节点 仅返回第一行的我的SQL查询: SELECT [date] = Node.Data.value('(date)[1]', 'NVARCHAR(MAX)'), name = Node.Data.value('(name)[1]', 'VARCHAR(MAX)') FROM @xml.nodes('result/subject') Node(Data) XML示例 &l
SELECT
[date] = Node.Data.value('(date)[1]', 'NVARCHAR(MAX)'),
name = Node.Data.value('(name)[1]', 'VARCHAR(MAX)')
FROM
@xml.nodes('result/subject') Node(Data)
XML示例
<result>
<subject>
<date>2019-06-03</date>
<name>AZGREX</name>
<name>ABGDFC</name>
<name>WWGDFW</name>
<name>FDSFSD</name>
<name>FSDWEW</name>
<name>CXZCXZ</name>
<name>GWGRE</name>
</subject>
</result>
您需要使用“发件人”中的节点:
声明@XML=
2019-06-03
蓝宝石
ABGDFC
WWGDFW
FDSFSD
FSDWEW
CXZCXZ
GWGRE
';
选择r.[subject]。将'date/text[1]'作为值,将'date'作为[date],
s、 [name].value./text[1],[varchar6]作为[name]-显然,您可能需要更大的长度
从…起VALUES@XMLVX
交叉应用V.X.nodes的结果/主题r[主题]
交叉应用r[subject]。节点名称的[name];
您需要使用“发件人”中的节点:
声明@XML=
2019-06-03
蓝宝石
ABGDFC
WWGDFW
FDSFSD
FSDWEW
CXZCXZ
GWGRE
';
选择r.[subject]。将'date/text[1]'作为值,将'date'作为[date],
s、 [name].value./text[1],[varchar6]作为[name]-显然,您可能需要更大的长度
从…起VALUES@XMLVX
交叉应用V.X.nodes的结果/主题r[主题]
交叉应用r[subject]。节点名称的[name];
可能的重复可能的重复