SQL Server выбирает узел XML пользователем, определяя значение атрибута - PullRequest
0 голосов
/ 02 февраля 2019

Как извлечь узел xml по значению его атрибута, определяемому пользователем

Я хочу заменить 2 в запросе на @pagenumber_

Declare @pagenumber_ varchar(max);
Set @pagenumber_ = '2';

Select applicationdata.query('(/applicationdata/page[@number="2"])[1]')  
From Applications

1 Ответ

0 голосов
/ 02 февраля 2019

Попробуйте это:

CREATE TABLE #Applications
(
    applicationdata XML
);

INSERT INTO #Applications (applicationdata)
VALUES ('<applicationdata><page number="1">page1</page><page number="2">page2</page></applicationdata>')


DECLARE @pagenumber_ VARCHAR(MAX);
SET @pagenumber_ = '2';

SELECT applicationdata.query('(/applicationdata/page[@number=sql:variable("@pagenumber_")])[1]')  
FROM #Applications

DROP TABLE #Applications
...