Текстовый поиск и замена в столбце XML - PullRequest
2 голосов
/ 28 июля 2010

Я пытаюсь найти и заменить все вхождения «эта фраза» на «эту фразу» в столбце типа xml с помощью T-SQL.

В столбце xml содержатся поля длиной более 8000 символовlong.

Я пытался использовать функцию Replace, но ей не нравится тип данных XML, и данные не могут быть сжаты в varchar.

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Я никогда не делал это сам, но похоже, эта статья должна помочь.Похоже, вы сделаете оператор Update, например:

UPDATE [Table]
SET Document.Modify('[namespace declaration];
    Replace Value Of [Xpath expression] with [New Value]')

Но я бы определенно внимательно прочитал эту статью - просто просматривая ее, я мог что-то пропустить.

1 голос
/ 28 июля 2010

Какого бы размера он ни был, его можно поместить в varchar(max) (тип данных, появившийся в 2005 году), который поддерживает все функции обработки текста.

...