• mysql中字符查询与替换


    select * from tablename where column like "%str%"----------------------查询表中的某列里包含某str的行

    update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[url=',content)-locate('[/url]', content)),'')----------替换content内容里面以[url=开始并以[/url]结束之间的所有字符

    update tablename set column =replace(column,'str','')-------------------替换表中某列里内容为str的字符串

    update table set content=left(content,locate('str',content)+1)-----------删除表中某列里str后的内容

    select trim(leading 'x' from 'xxxadminxxx')-----------------------------------删除字符串xxxadminxxx前xxx

    select trim(trailing 'x' from 'xxxadminxxx')---------------------------------- -删除字符串xxxadminxxx后xxx 

    select trim(both 'x' from 'xxxadminxxx')---------------------------------------删除字符串xxxadminxxx前后的xxx

    delete from `表` where `字段` not like '%指定字符1%'--------------------删除不包含某字符串的记录

    delete from `表` where `字段` like '%指定字符1%' or like '%指定字符2%' or like '%指定字符3%'------------删除包含某字符串的记录

    以下为mysql删除两字符间所有字符的测试过程,参考过程来源博客见最后备注:

    update ear_bbs_threads_content set content = dbo.RegexReplace('<*>','',content,1,1);
    update ear_bbs_threads_content set content =replace(content,'[url*url]','') where tid >=100 and tid <=1000
    update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[/url]', content)-locate('[url=',content)),'')
    update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[/url]', content))),'')

    update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[url=',content)-locate('[/url]', content)),'')

     测试过程参考博客地址:https://yq.aliyun.com/ziliao/69563

    其过程详细说明为:

    使用 SubString字符串截取函数
    SubString(string, int, int)
    返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。
    然后用update set即可达到删除字符串的前两个字符的效果
    sql
    update table set name= substring(name,3,len(name)-2);
    解释:更新table表中name字段
    substring(name,3,len(name)-2);表示返回从name字段的第三个字符之后的所有字符
    效果就是删除前2个字符了
    len(name)表示返回name字段的长度

    参考地址为百度知道的:https://zhidao.baidu.com/question/588857422353045925.html

  • 相关阅读:
    【Mysql】Mysql常见的日志种类及作用
    【Mysql】执行sql的过程
    【Mysql】回表查询原理,利用联合索引实现索引覆盖
    【Mysql】explain详解与索引最佳实践
    【Mybatis】MyBatis源码编译
    【Mysql】MySQL数据存储文件详解
    【LoadRunner-工作原理】
    【LoadRunner-简介】
    【LoadRunner-基础篇】
    【LoadRunner-基础篇】
  • 原文地址:https://www.cnblogs.com/josn1984/p/9358998.html
Copyright © 2020-2023  润新知