【发布时间】:2011-05-14 19:31:17
【问题描述】:
在 sql server xml 列中,我有这样的 xml:
<Test>
<Operations>
<Operations type="OperationSend">
<OperationSend>
<ToCompanyId>1</ToCompanyId>
<Date>2011-05-01T00:00:00</Date>
</OperationSend>
</Operations>
<Operations type="OperationSell">
<OperationSell>
<ToCompanyId>33</ToCompanyId>
<Amount>12</Amount>
</OperationSell>
</Operations>
<Operations type="OperationEdit">
<OperationEdit>
<ToCompanyId>12</ToCompanyId>
<Date>2011-11-01T00:00:00</Date>
</OperationEdit>
</Operations>
</Operations>
</Test>
我需要从上次操作 (12) 中获取 ToCompanyId。我遇到了这样的事情。应该是什么??? ToCompanyId 可以有任何操作类型。
select testxml.query('(/Test/Operations/Operations)[last()]/???/ToCompanyId') from dbo.MyXmlTable
【问题讨论】:
-
我建议您接受最佳答案——在这种特定情况下,它由@Mikael Eriksson 给出。
标签: xpath xquery-sql