同步首发 https://yuanrengu.com/2020/9cfe2ad6.html

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。

一.从 开始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取长度)

SELECT LEFT('www.yuanrengu.com',8)

结果为: www.yuan

二.从 开始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取长度)

SELECT RIGHT('www.yuanrengu.com',6)

结果为:gu.com

三.截取 特定长度 的字符串

  • substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)
  • substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)
  • 结果为:gu

    四.按 关键字 进行读取

    用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)

    1.截取第二个“.”之 的所有字符

    SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', 2);

    结果为:www.yuanrengu

    2.截取倒数第二个“.”之 的所有字符

    SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', -2);

    结果为:yuanrengu.com

    3.如果关键字不存在,则返回整个字符串

    SELECT SUBSTRING_INDEX('www.yuanrengu.com', 'sprite', 1);

    结果为:www.yuanrengu.com