求助MYSQL批量替换或删除两个字符之间内容的语句

WORDPRESS中怎么批量替换或删除两个字符之间内容?试了不少方法都不行,请高手帮帮忙,谢谢。
就是把ABC中A到C这部分批量替换或删除掉,B的内容不同。例如:
把<p>123</p> 这里内容不定<p>456</p>批量替换成<p>123</p> <p>456</p>或者批量删除掉。
最新回答
琉璃水色

2024-10-23 02:54:48

mysql> set @str := "xxxxxxxxxxxxxxxx <p>123</p> 这里内容不定<p>456</p> xxxxxxxxxxxxxxxxxxxxx";
Query OK, 0 rows affected (0.00 sec)

mysql> select @str;
+--------------------------------------------------------------------------+
| @str                                                                     |
+--------------------------------------------------------------------------+
| xxxxxxxxxxxxxxxx <p>123</p> 这里内容不定<p>456</p> xxxxxxxxxxxxxxxxxxxxx |
+--------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select replace(@str, substring_index(substring_index(@str, "<p>123</p>",-1), "<p>456</p>", 1), "替换的内容,或者变为空字符串就是删除");
+----------------------------------------------------------------------------------------------------------------------------------+
| replace(@str, substring_index(substring_index(@str, "<p>123</p>", -1), "<p>456</p>", 1), "替换的内容,或者变为空字符串就是删除") |
+----------------------------------------------------------------------------------------------------------------------------------+
| xxxxxxxxxxxxxxxx <p>123</p>替换的内容,或者变为空字符串就是删除<p>456</p> xxxxxxxxxxxxxxxxxxxxx                                  |
+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

把上面的 @str 换成你的数据库的列名用在SQL语句里就可以实现效果了。