mysql - SQL 修剪通配符模式

标签 mysql sql search replace wildcard

我有一个非常大的 MySQL 数据库表(posts),在一个字段(post_text)中有很多旧的 BB 代码需要修剪。

这是我需要查找的示例之一: 引用:1270ae936b (之后:字符变化,总是 10)

并替换为: 引用:

我如何在 SQL 命令中执行此操作?

提前致谢! :)

最佳答案

未经测试,但从逻辑上讲它应该适合您。在 http://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html 查看有关特定字符范围的更多信息

测试查询:

//run it before update query
 SELECT post_text FROM posts WHERE post_text REGEXP 'quote:[a-zA-Z0-9]{10}'; 

主要查询:

    UPDATE posts
    SET post_text = 'quote:' 
    WHERE post_text REGEXP 'quote:[a-zA-Z0-9]{10}';

关于mysql - SQL 修剪通配符模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35583167/

相关文章:

php - 在 SELECT 中更改 MySQL DB 列值

php - 选择列表作为数组变量一旦保存到 MySQL 就无法重新保存为未选择

mysql - 重复记录的 SQL 查询,保留重复 ID 的列表

sql - 为什么不能在 DELETE 语句中使用别名?

angularjs - 重复器错误中的重复 key [ngRepeat :dupes]

jquery - 使用 jQuery 查找页面上元素 ID 包含特定文本的所有元素

mysql - 替换列为空字符串但不替换已有数据的行?

mysql - 为什么此 MySQL 查询在一台服务器上比另一台服务器慢?

sql - 从 Postgres 中的字符串列中删除 base64 值

Xcode 在输出日志中查找/搜索文本