在XML列中进行文本查找和替换

时间:2010-07-28 13:40:46

标签: sql-server-2005 tsql replace

我正在尝试使用T-SQL在xml类型列中找到并替换'this phrase'的所有实例和'that phrase'。

xml列包含超过8000个字符的字段。

我尝试使用Replace函数,但它不喜欢XML数据类型,并且数据无法压缩到varchar中。

2 个答案:

答案 0 :(得分:1)

无论大小如何,都可以放入varchar(max)(2005年的新数据类型),它支持所有文本操作函数。

答案 1 :(得分:1)

我自己从未这样做过,但看起来this article应该有所帮助。看起来你会像以下那样做一个Update语句:

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

但我肯定会仔细阅读那篇文章 - 只是略读它,我可能错过了一些东西。