SQL Server 2008: как объединить значения в операторе «заменить значение» - PullRequest
2 голосов
/ 23 июля 2011

Вот мой тестовый 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 Ответ

1 голос
/ 23 июля 2011

Как насчет concat("new node value", sql:column("strField"))?

См. concat function (XQuery) из документации по SQL Server 2008.

Удачного кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...