XQuery / XPath использует параметр sql? - PullRequest
5 голосов
/ 13 марта 2012

Я пытаюсь реализовать следующий код.

declare @para varchar(10) = 'b';
declare @x xml = '
<x>
    <a>1111</a>
    <b>2222</b>
    <c>3333</c>
</x>';
select @x.query('/x/sql:variable("@para")');

Приведенный выше код должен получить узел <b>2222</b>. Тем не менее, он получает следующую ошибку

Msg 9335, Level 16, State 1, Line 8
XQuery [query()]: The XQuery syntax '/function()' is not supported.

1 Ответ

11 голосов
/ 13 марта 2012
declare @para varchar(10) = 'b';
declare @x xml = '
<x>
    <a>1111</a>
    <b>2222</b>
    <c>3333</c>
</x>';
select @x.query('/x/*[local-name()=sql:variable("@para")]');
...