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



我显然错过了我面前的东西,但是我有这个SQL 2008 XML查询,如下所示:

select distinct cast(customFields_xml.query('data(/root/cf_item_type)') as varchar) as c1
from designs

.. 我实际上要实现的是使"cf_item_type"成为变量,因为我想将节点作为参数传递给进程。

所以实际上,我试图以这样的东西结束:

(@cf将作为参数传递,但声明示例使用)

declare @cf varchar
set @cf='cf_item_type'
select distinct cast(customFields_xml.query('data(/root/@cf)') as varchar) as cloth from designs

..所以你可以看到我正在尝试在 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

最新更新