mysql left() Mysql字符串截取总结left()right()substring()substring_index()

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。
一.从左开始截取字符串
用法:left(str, length),即:left(被截取字符串, 截取长度)
SELECT LEFT('abcdefghijklm',8)
结果为:abcdefgh
二.从右开始截取字符串
用法:right(str, length),即:right(被截取字符串, 截取长度)
SELECT RIGHT('abcdefghijklm',6)
结果为:hijklm
三.截取特定长度的字符串
用法:
- substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)
- substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)
1.从字符串的第9个字符开始读取直至结束
SELECT SUBSTRING('abcdefghijklmn', 9)
结果为:ijklmn
2.从字符串的第9个字符开始,只取3个字符
SELECT SUBSTRING('abcdefghijklmn', 9, 3)
结果为:ijk
3.从字符串的倒数第6个字符开始读取直至结束
SELECT SUBSTRING('abcdefghijklmn', -6)
结果为:ijklmn
4.从字符串的倒数第6个字符开始读取,只取2个字符
SELECT SUBSTRING('abcdefghijklmn', -6, 2)
结果为:ij
四.按关键字进行读取
用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)
1.截取第二个“.”之前的所有字符
SELECT SUBSTRING_INDEX('abcde.fghijklmn', '.', 2);
结果为:abcde
2.截取倒数第二个“.”之后的所有字符
SELECT SUBSTRING_INDEX('abcdefghij.klmn', '.', -2);
结果为:klmn
3.如果关键字不存在,则返回整个字符串
SELECT SUBSTRING_INDEX('abcd', 'sprite', 1);
结果为:abcd
相关推荐
-
「nginx」十、nginx的location配置详解2026-07-04 00:51:45 -

最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代
最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代2026-07-04 00:21:47 -
PHP读取Excel内的图片2026-07-03 00:07:41 -
mysql:Otter跨机房数据同步(单向)2026-07-03 00:02:48 -

在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境
在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境2026-07-02 00:15:08