搜索并替换数据库中的部分字符串


68

我需要替换所有以nvarchar形式存储在数据库中的iframe广告代码。我可以使用以下sql-question查找条目:

SELECT * FROM databasename..VersionedFields WHERE Value LIKE '%<iframe%'

说我要替换以下代码段:

code before iframe <iframe src="yadayada"> </iframe> code after iframe

有了这个:

code before iframe <a>iframe src="yadayada"</a> code after iframe

Answers:


86

我认为2个更新电话应该可以

update VersionedFields
set Value = replace(value,'<iframe','<a><iframe')

update VersionedFields
set Value = replace(value,'> </iframe>','</a>')

99

您可以使用UPDATE语句通过REPLACE设置值来实现

UPDATE
    Table
SET
    Column = Replace(Column, 'find value', 'replacement value')
WHERE
    xxx

您这样做时要非常小心!我强烈建议您先进行备份。


这里有更多关于此的信息
Giacomo Tecya Pigani 2014年

13
update VersionedFields
set Value = replace(replace(value,'<iframe','<a>iframe'), '> </iframe>','</a>')

而您只需一次操作。


4

我只是面临类似的问题。我将数据库的内容导出到一个sql文件中,并使用TextEdit查找和替换了我需要的所有内容。简便!


0

我会考虑使用RegEx支持为此类字符串操作编写CLR替换功能。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.