【问题标题】:SQL XML Xquery data query using a variable in the node selection?SQL XML Xquery 数据查询在节点选择中使用变量?
【发布时间】:2011-05-11 13:25:14
【问题描述】:

我显然在我面前遗漏了一些东西,但是我有如下 SQL 2008 XML 查询:

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

.. 我实际上想要实现的是使“cf_item_type”成为一个变量,因为我想将节点作为参数传递给 proc..

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

(@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 变量..

任何指针/帮助都会很棒!!

【问题讨论】:

    标签: sql sql-server-2008 sqlxml


    【解决方案1】:

    这可能会做你想要的。

    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 的内容!你不会碰巧知道任何好的资源吧?再次感谢!!
    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 2023-03-09
    • 2011-07-14
    • 1970-01-01
    相关资源
    最近更新 更多