SUBSTRING_INDEX函数按分隔符和计数截取字符串,正count从左截取,负count从右截取,常用于提取邮箱用户名、域名、IP段或路径文件名等结构化数据。

在MySQL中,SUBSTRING_INDEX 是一个非常实用的字符串函数,用于根据指定的分隔符和计数来截取字符串的一部分。它常用于处理含有分隔符(如逗号、点号、斜杠等)的字段,比如提取邮箱用户名、IP地址段或路径中的某部分。
SUBSTRING_INDEX(str, delim, count)
当 count 为正数时,函数返回从字符串最左侧开始,到第 count 个分隔符之前的所有部分。
例如,提取邮箱中的用户名:
SELECT SUBSTRING_INDEX('john.doe@example.com', '@', 1);结果:john.doe
再比如,提取域名的第一部分:
SELECT SUBSTRING_INDEX('www.example.com', '.', 2);结果:www.example
当 count 为负数时,函数从字符串右侧开始计数,返回从右边第 |count| 个分隔符之后的部分。
例如,提取邮箱的主域名:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
508
结果:example.com
提取IP地址的最后两段:
SELECT SUBSTRING_INDEX('192.168.1.100', '.', -2);结果:1.100
这个函数在数据清洗和解析结构化字符串时特别有用。
例如,从完整路径中提取文件名:
SELECT SUBSTRING_INDEX('/var/log/app.log', '/', -1);结果:app.log
基本上就这些。只要掌握分隔符和正负 count 的方向逻辑,使用起来就很灵活。注意:如果 count 为 0,结果为空;如果分隔符不存在,返回整个字符串。不复杂但容易忽略细节。
以上就是mysql中截取函数substring_index的用法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号