1

在之前的 SO 帖子中:XML 数据类型方法“值”的参数 1 必须是字符串文字我没有找到解决方案,但如果有人能回答这个问题,我可以解决之前的问题。

问题:如何以检索给定节点名称的方式检索给定节点的完整路径?

declare @x xml; set @x='<ROOT><a>111</a></ROOT>'
SELECT @x.value('local-name((/ROOT/a)[1])', 'varchar(256)')

以上将返回'a'。我如何返回'/ROOT/a'?

4

1 回答 1

0

目前(从 SQL Server 2008 起)没有解决这个问题的方法,仅仅是因为 SQL 引擎不支持整个 XQuery 语言。根据规范,有些函数可用于获取祖先,并使用 FLWOR 可以构建路径,但尚未实现祖先函数。可悲的是。

但是,至于让我开始的问题(请参阅我原来的 SO 帖子) - 找到了一个可接受的解决方案

于 2012-09-19T23:25:56.383 回答