相关疑难解决方法(0)

XML数据类型方法"value"的参数1必须是字符串文字

如何更改我的T-SQL查询,以便不会发生此错误:

'XML数据类型方法"value"的参数1必须是字符串文字.

T-SQL代码:

Declare @Count Int = 1
While(@count <= @j)
Begin
insert into mytable
([Word])
Select ([XmlColumn].value(N'word['+Cast(@Count as nvarchar(2))+']/@Entry','nvarchar(max)'))
    from OtherTable WHERE ID=2
Run Code Online (Sandbox Code Playgroud)

xml sql t-sql

13
推荐指数
2
解决办法
2万
查看次数

XML数据类型方法"value"的参数1必须是字符串文字

我读过SO:XML数据类型方法"value"必须是字符串文字,但我的问题有点不同.我在一个变量中有一点xml,我想分开并给出一个路径.最初我试过这个:

declare @x xml
select @x = '....'
select @x.value('(' + @path + ')[1]', 'varchar(max)')
Run Code Online (Sandbox Code Playgroud)

但是,当然,这失败了.然后我找到了sql:variable并尝试了这个:

select @x.value('(sql:variable("@path"))[1]', 'varchar(max)')
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,它返回了@path的值(为什么?).我一直在搞乱它,但不能让它做正确的事情.

想什么?

xml t-sql

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

t-sql ×2

xml ×2

sql ×1