我对SQL Server中的xquery不熟悉。
我经常遇到使用带有属性的[1]的xquery表达式。
请问有人能解释一下这是什么意思吗?
下面是一个例子
declare @aa xml
set @aa='<data>
<row>
<Value>1</Value>
<Text>Masters</Text>
</row>
<row>
<Value>2</Value>
<Text>Transactions</Text>
</row>
<row>
<Value>3</Value>
<Text>Misch. Reports</Text>
</row>
</data>'
select a.f.value('Value[1]','varchar(50)'), -- why [1] here ?
a.f.value('Text[1]','varchar(50)') -- and here too..
from @aa.nodes('/data/row') as a(f)
感谢和问候。
Value
节点的第一次出现),但我不确定。 - JNKfrom @aa.nodes('/data/row') as a(f)
,所以对于每一行,你基本上都有一个等于row
元素的.
(或者说当前元素)。如果那个row
元素有两个Text
元素,你可以用Text[2]
来获取第二个元素的值,这相当于./Text[2]
。 - Jeremy Pridemore