小编Om *_*pta的帖子

XML 数据类型方法“query”的参数 1 必须是字符串文字

我在 SQL Server 中有 xml 格式的数据。现在我试图根据我的查询找出单个记录。我把我的代码放在下面,

declare @xml xml
declare @ID varchar
set @ID = '1'
set @xml = '
<row>
    <Id>1</Id>
    <name>OM</name>
</row>
<row>
    <Id>2</Id>
    <name>JAI</name>
</row>
<row>
    <Id>2</Id>
    <name>JAGDISH</name>
</row>
'
Run Code Online (Sandbox Code Playgroud)

当我执行我的查询时,它会给我一个正确的结果(xml 节点):

Select @xml.query('/row[Id="1"]');
Run Code Online (Sandbox Code Playgroud)

但是当我连接 @ID 进行查询时,它给了我一个错误:

Select @xml.query('/row[Id='+ @ID +']');
Run Code Online (Sandbox Code Playgroud)

错误是:

XML 数据类型方法“query”的参数 1 必须是字符串文字。

t-sql sql-server sql-server-2008

2
推荐指数
1
解决办法
1890
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1

t-sql ×1