2

私は明らかに目の前に何かが欠けていますが、このSQL2008XMLクエリは次のようになっています。

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変数を使用しようとしていることがわかります。

どんなポインタ/ヘルプも素晴らしいでしょう!!

4

1 に答える 1

6

これはあなたが望むことをするかもしれません。

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
于 2011-05-11T13:48:18.583 に答える