数据库
首页 > 数据库> > MySQL:搜索并替换为具有换行符/回车符的目标?

MySQL:搜索并替换为具有换行符/回车符的目标?

作者:互联网

我需要清理我们的数据库,并需要大规模替换这样的东西:

<div class="rtecenter"><br />
<font color="#990033"><strong>I'm so hot, I sometimes spontaneously combust.</strong></font><br />
<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div>

(我只是要删除它的所有实例).我已经知道如何进行大量替换(我正在使用PHPMyAdmin),但是问题在于它具有CR / LF,因此我不确定如何添加正确的字符串以在查询中找到…只是为了进行测试,我尝试使用Char(10)或Char(13)进行搜索,其中新行在其中,但从未返回任何结果(尽管我知道它们在那里).

有人知道吗

解决方法:

如果只有CR / LF,则可以使用此查询-

UPDATE table
SET
  column = REPLACE(column, '<div class="rtecenter"><br />\r\n<font color="#990033"><strong>I''m so hot, I sometimes spontaneously combust.</strong></font><br />\r\n<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div>', '');

如果有不同的行分隔符,则可以分两个步骤进行:

UPDATE table
SET
  column = REPLACE(column, '\r', ''); -- replace all \r\n to \n

UPDATE table
SET
  column = REPLACE(column, '<div class="rtecenter"><br />\n<font color="#990033"><strong>I''m so hot, I sometimes spontaneously combust.</strong></font><br />\n<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div>', '');

标签:replace,carriage-return,linefeed,mysql
来源: https://codeday.me/bug/20191101/1985313.html