在节点选择中使用变量进行SQL XML Xquery数据查询?

在节点选择中使用变量进行SQL XML Xquery数据查询?,sql,sql-server-2008,sqlxml,Sql,Sql Server 2008,Sqlxml,很明显,我前面缺少了一些东西,但是我有一个SQL 2008 XML查询,如下所示: select distinct cast(customFields_xml.query('data(/root/cf_item_type)') as varchar) as c1 from designs 。。我实际上试图实现的是将“cf_item_type”作为变量,因为我希望将节点作为参数传递给进程 所以在现实中,我试图以这样的方式结束: (@cf将作为参数传递,但声明例如use) 。。所以您可以看到,我试

很明显,我前面缺少了一些东西,但是我有一个SQL 2008 XML查询,如下所示:

select distinct cast(customFields_xml.query('data(/root/cf_item_type)') as varchar) as c1
from designs
。。我实际上试图实现的是将“cf_item_type”作为变量,因为我希望将节点作为参数传递给进程

所以在现实中,我试图以这样的方式结束:

(@cf将作为参数传递,但声明例如use)

。。所以您可以看到,我试图在xquery语句中使用@cf变量


任何提示/帮助都会很好

这可能会满足您的需要

declare @cf varchar(20)
set @cf='cf_item_type'

select distinct
  cast(customFields_xml.query(
    'data(/root/*[local-name(.) = sql:variable("@cf")])') as varchar(20)) as cloth
from designs

嘿,天哪!外面有一些聪明的头脑!:)谢谢你的回复,它工作得很好。。我想,我真的需要更多地阅读xquery!你不会碰巧知道什么好资源吧?再次感谢!!你可以看看这里。
declare @cf varchar(20)
set @cf='cf_item_type'

select distinct
  cast(customFields_xml.query(
    'data(/root/*[local-name(.) = sql:variable("@cf")])') as varchar(20)) as cloth
from designs