美文网首页
MySQL截取字符串

MySQL截取字符串

作者: 静静地就好 | 来源:发表于2021-06-23 23:40 被阅读0次

    一、背景

        以前系统存在的门店号以前是截取的门店名称前面4位,现业务需要门店号变更为5位,所以门店名称小于10000的需要前面补0,大于10000的就直接取门店名称前面5位。故需要核对转换前后,4位店号的截取是否正确。

    二、学习点:MySQL截取字符串

    1、MySQL 字符串截取函数:left(), right(), substring()

    2、left(str, length):指的是截取str字符串左边length位,

    比如,select left('helloworld', 5),截取的str就是hello

    3、right(str, length):指的是截取str字符串右边length位

    比如,select right('helloworld', 5),截取的str就是world

    4、substring(str, pos):指的是从字符串str的第 pos 个字符位置开始取,直到结束,如果pos是负数,则指的是从字符串str的倒数 pos 个字符位置开始取,直到结束

    比如,select substring('helloworld', 6),截取的str就是world;

    select substring('helloworld', -5),截取的str就是world

    5、substring(str, pos, len):指的是从字符串str的第 pos 个字符位置开始取len位,如果pos是负数,则指的是从字符串str的倒数 pos 个字符位置开始取开始取len位; len 不能取负值

    比如,select substring('helloworld', 6,3),截取的str就是wor;

    select substring('helloworld', -5,3),截取的str就是wor

    三、实践

    图1 表格部分字段

    SELECT longStoreNo,storeno,name,RIGHT(longStoreNo,4) FROM o2o_store WHERE RIGHT(longStoreNo,4)

    NOT IN(

    SELECT SUBSTRING(NAME,2,4) FROM o2o_store)

    -- 查询4位店号(截取门店名称前面4位的)和10位店号(尾数4位的)不一致的门店;如果不存在不一致,则代表转换成功

    相关文章

      网友评论

          本文标题:MySQL截取字符串

          本文链接:https://www.haomeiwen.com/subject/llofsltx.html