mysql 数据库中的模式替换

1, REPLACE 使用
-UPDATE tbl_name SET field_name = REPLACE(field_name,old_str,new_str) WHERE conditions;
2, 查询某个模式之前或之后的字段 SUBSTRING_INDEX()

  • 查询语法:SUBSTRING_INDEX(str,delim,count)
  • 查询之前:
    • SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', 2);
    • 结果:Cats,Dogs
  • 查询之后:
    • SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', -2);
    • 结果:Dogs,Rabbits
  • 具体应用:
    • 数据库中某列为以下模式:this is a tes===you are right###are you ok?
    • 需求只保留“are you ok?”,并在前面添加“what's your problem##”;
    • 先将结果查询为临时表:SELECT question, CONCAT("what's your problem##",SUBSTRING_INDEX(question,'###',-1)) FROM internet;
    • 然后,将本表和临时表同时查询,替换。

参考资料:

原文地址:https://www.cnblogs.com/linkworld/p/12373838.html