0

我正在使用 T-SQL 节点函数解析 XML 数据。这是我正在处理的代码示例。

SELECT
a.b.value('Table1[1]/CURRENCY_FLAG[1]','varchar(10)') AS Currency
FROM @XMLdata.nodes('DataSet/diffgr_diffgram/EA_RESULTS') a(b)

UNION ALL 

SELECT
a.b.value('Table1[2]/CURRENCY_FLAG[1]','varchar(10)') AS Currency
FROM @XMLdata.nodes('DataSet/diffgr_diffgram/EA_RESULTS') a(b)

如您所见,这两个部分之间的唯一区别是 Table1[x]。有没有办法增加这个数字?

4

1 回答 1

0

如果您包含Table1在 nodes 子句中,则无需增加它,也无需使用union all.

试试这个。

SELECT a.b.value('CURRENCY_FLAG[1]','varchar(10)') AS Currency
FROM @XMLdata.nodes('DataSet/diffgr_diffgram/EA_RESULTS/Table1') a(b)
于 2013-01-11T16:12:12.663 回答