我在网上查找了使用T-SQL将XML数据转换为表格的方法。但是我只看到了部分答案。我的XML格式略有不同。请问是否有人能帮助我解决以下问题。
DECLARE @XmlData XML
SELECT @XmlData = '<header>
<data>
<numbersData>
<numbers>
<number>1</number>
<number>2</number>
</numbers>
</numbersData>
</data>
<data>
<numbersData>
<numbers>
<number>3</number>
<number>4</number>
</numbers>
</numbersData>
</data>
</header>'
查询:
SELECT
Numbers.Data.value('(number)[1]', 'VARCHAR(100)') AS Num
FROM
@XmlData.nodes('/header/data/numbersData/numbers') Numbers(Data)
这个的结果是:
Num
----
1
3
注意,它只返回1和3。2和4都缺失了。
不幸的是,这个文件来自客户端,他们不会更改格式。我正在尝试获得以下结果
Num
---
1
2
3
4
<data>
节点获取数字并不重要。 - Shnugo