在节点选择中使用变量进行SQL XML Xquery数据查询?
很明显,我前面缺少了一些东西,但是我有一个SQL 2008 XML查询,如下所示:在节点选择中使用变量进行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) 。。所以您可以看到,我试
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