SQL Server 2008:如何在语句“替换值”中连接值

时间:2011-07-22 20:23:12

标签: xml sql-server-2008

这是我的测试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来说还不够好。我用谷歌搜索解决方案,但没有找到任何好处。我想知道是否有办法做我想做的事情?

1 个答案:

答案 0 :(得分:1)

concat("new node value", sql:column("strField"))怎么样?

请参阅SQL Server 2008文档中的concat function (XQuery)

快乐的编码。