SQL 服务器 select XML 节点由用户定义属性值

SQL Server select XML node by user define attribute value

如何通过用户定义的属性值获取xml节点

我想将查询中的 2 替换为 @pagenumber_

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

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

试试这个:

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