MySQL字符串截取方法详解:从基础语法到实战应用
在MySQL中,截取字符串主要通过 SUBSTRING() 或 SUBSTR() 函数实现,它们的功能是从指定位置开始提取字符串的一部分,具体语法为 SUBSTRING(字符串, 起始位置, 截取长度),其中起始位置从1开始计数,若省略截取长度则默认截取到字符串末尾。SELECT SUBSTRING('Hello World', 7, 5) 会返回 'World'。
常用截取场景与技巧:

-
基础截取:
- 使用
SUBSTRING()可灵活截取字段内容,如截取手机号前三位:SELECT SUBSTRING(phone, 1, 3) FROM users;
- 注意:若起始位置为负数,则表示从字符串末尾向前计数(如
SUBSTRING('MySQL', -3)返回'SQL')。
- 使用
-
结合其他函数增强功能:
- 配合
LOCATE()或INSTR()定位分隔符,实现动态截取,例如截取邮箱域名:SELECT SUBSTRING(email, LOCATE('@', email) + 1) FROM emails; - 使用
LEFT()和RIGHT()快速截取首尾字符,如LEFT('MySQL', 2)返回'My'。
- 配合
-
处理复杂数据:
- 嵌套
SUBSTRING_INDEX()可截取路径或层级数据,例如获取URL的域名:SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(url, '//', -1), '/', 1);
- 重点:
SUBSTRING_INDEX(字符串, 分隔符, 计数)通过分隔符截取部分,计数为正时从左开始,为负时从右开始。
- 嵌套
-
实战注意事项:
- 截取前建议用
CHAR_LENGTH()检查字符长度,避免中文字符截取乱码。 - 在WHERE子句中灵活运用截取函数,可优化数据筛选效率,例如筛选特定日期前缀的记录。
- 截取前建议用
掌握这些截取方法,能高效处理文本清洗、数据拆分等任务,提升数据库操作的灵活性与精确度。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/10908.html发布于:2026-08-14





