在以前的SO帖子中:The argument 1 of the XML data type method "value" must be a string literal我没有找到解决方案,但如果有人能回答这个问题,我可以解决之前的问题。
问题:如何以检索给定节点名称的方式检索给定节点的完整路径?
declare @x xml; set @x='<ROOT><a>111</a></ROOT>'
SELECT @x.value('local-name((/ROOT/a)[1])', 'varchar(256)')
以上将返回'a'。我该如何退回'/ ROOT / a'?
答案 0 :(得分:0)
目前没有解决此问题的解决方案(从SQL Server 2008开始),因为SQL引擎不支持整个XQuery语言。根据规范,有些函数可用于获取祖先并使用FLWOR构建路径,但尚未实现祖先功能。遗憾的是
然而,至于让我在这里开始的问题(参见我原来的SO帖子) - 找到了可接受的解决方案