这是我的测试SQL:
declare @Table table (strField nvarchar(6), xmlField xml)
insert into @Table values ('123456', '<root><Node value="node value"/></root>')
select * from @Table
现在我想弄清楚的是如何在这里更新XML字段的值并为其分配一个新值,它将是两个部分的串联。这是我到目前为止所得到的:
update @Table
set xmlField.modify('replace value of (/root/Node/@value)[1]
with "new node value" + sql:column("strField")')
但是这种语法对于SQL Server来说还不够好。我用谷歌搜索解决方案,但没有找到任何好处。我想知道是否有办法做我想做的事情?
答案 0 :(得分:1)
concat("new node value", sql:column("strField"))
怎么样?
请参阅SQL Server 2008文档中的concat function (XQuery)。
快乐的编码。