SUBSTRING()函数用于提取字符串,语法为SUBSTRING(str,pos,len)或SUBSTRING(str FROM pos FOR len),pos从1开始,len可选;示例:SUBSTRING('Hello, World!',8,5)返回'World',SUBSTRING('Hello, World!',8)返回'World!',支持负数位置如SUBSTRING('Hello, World!',-6,5)返回'World';实际应用中可结合POSITION()提取邮箱域名SUBSTRING(email,POSITION('@' IN email)+1),或提取手机号前三位SUBSTRING(phone,1,3)。

在 MySQL 中,SUBSTRING() 函数用于从字符串中提取子串。它可以根据指定的位置和长度截取字符,使用起来非常灵活。
SUBSTRING() 的常用语法格式如下:
SUBSTRING(str, pos, len) 或 SUBSTRING(str FROM pos FOR len)参数说明:
假设有一个字符串 'Hello, World!',我们来看看几种典型用法:
1. 截取固定长度子串
SELECT SUBSTRING('Hello, World!', 8, 5); -- 结果:World2. 从指定位置截取到末尾
SELECT SUBSTRING('Hello, World!', 8); -- 结果:World!3. 使用负数位置(从右往左数)
SELECT SUBSTRING('Hello, World!', -6, 5); -- 结果:World负数表示从字符串末尾倒数,-1 是最后一个字符。
比如有一张用户表 users,其中 email 字段存储邮箱地址,想提取 @ 符号后面的域名部分:
SELECT email, SUBSTRING(email, POSITION('@' IN email) + 1) AS domain FROM users;这里结合了 POSITION() 函数找到 @ 的位置,然后从下一个字符开始截取到末尾。
再比如提取手机号前三位作为地区码:
SELECT SUBSTRING(phone, 1, 3) AS area_code FROM users;基本上就这些。掌握好起始位置和长度,就能准确提取所需内容。
以上就是substring截取字符串在mysql中如何使用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号