zoukankan      html  css  js  c++  java
  • mysql中的字符串截取和替换

    -- 替换 replace(字段名,"需要替换的字符","替换的字符") mysql里replace不支持正则匹配
    mysql> set @needReplaceStr = 'hello world!';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select replace(@needReplaceStr, 'world', 'leyi');
    +-------------------------------------------+
    | replace(@needReplaceStr, 'world', 'leyi') |
    +-------------------------------------------+
    | hello leyi!                               |
    +-------------------------------------------+
    1 row in set (0.00 sec)
    
    
    — 字符串截取的方式替换 SUBSTRING instr或locate
    mysql> set @needReplaceStr = 'hello world!';
    Query OK, 0 rows affected (0.00 sec)
    
    — 等同于 
    select concat(SUBSTRING(@needReplaceStr,1, locate(' ',@needReplaceStr)), 'leyi!');
    
    mysql> select concat(SUBSTRING(@needReplaceStr,1, instr(@needReplaceStr,' ')), 'leyi!');
    +---------------------------------------------------------------------------+
    | concat(SUBSTRING(@needReplaceStr,1, instr(@needReplaceStr,' ')), 'leyi!') |
    +---------------------------------------------------------------------------+
    | hello leyi!                                                               |
    +---------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    
    — left right 截取前几位和后几位字符
    
    mysql> set @needReplaceStr = 'hello world!';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select concat(left(@needReplaceStr, 5), ' leyi!');
    +--------------------------------------------+
    | concat(left(@needReplaceStr, 5), ' leyi!') |
    +--------------------------------------------+
    | hello leyi!                                |
    +--------------------------------------------+
    1 row in set (0.00 sec)
    
    — SUBSTRING_INDEX(str,delim,count)  
    — 如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
    — 如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容
    e.g 截取最后一个逗号之后的内容
    select reverse(SUBSTRING_INDEX(reverse('abc,bde,cfg,dfh,ebv'),',',1))
    select SUBSTRING_INDEX('abc,bde,cfg,dfh,ebv',',',-1)
  • 相关阅读:
    巨杉数据库多活架构实践
    云数据库架构演进与实践
    语言入门必学的基础知识你还记得么?
    ASP.NET MVC不可或缺的部分——DI及其本质工作分析
    python JoinableQueue在生产者消费者项目中的简单应用
    asp.net core中写入自定义中间件
    终结python协程----从yield到actor模型的实现
    项目开发中使用并发模型常见问题的整理与思考
    LeetCode刷题之合并排序链表
    python学习笔记
  • 原文地址:https://www.cnblogs.com/leyi/p/12097392.html
Copyright © 2011-2022 走看看