如何更改我的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) 我读过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的值(为什么?).我一直在搞乱它,但不能让它做正确的事情.
想什么?