我只是在学习 XQUERY 并尝试完成我认为非常简单的事情。这是我的 T-SQL 代码:
DECLARE @XML xml
set @xml = '<resultsets><AppVersion>13.0</AppVersion></resultsets>'
-- Code below is wrong
select
ResultSets.AppVersion.query('AppVersion').value('.', 'varchar(100)') as AppVersion
from @XML.nodes('/resultsets/AppVersion') ResultSets(AppVersion)
我无法弄清楚如何查询该内部元素 appversion。我没有收到任何错误,但我无法在 appversion 内部元素中返回 13.0。有人可以帮忙吗?
最佳答案
你有一个 AppVersion
太多。这将返回您的 13.0
:
DECLARE @XML xml
set @xml = '<resultsets><AppVersion>13.0</AppVersion></resultsets>'
-- Code below is right
select
ResultSets.AppVersion.value('.', 'varchar(100)') as AppVersion
from @XML.nodes('/resultsets/AppVersion') ResultSets(AppVersion)
你的 nodes
方法已经深入到 AppVersion
节点,所以从那里你不需要进一步的 query
, 只是 value
.
关于sql-server - T-SQL、XQuery 无效列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590183/