LEFT()和RIGHT()函数分别从字符串左、右截取指定长度字符,适用于处理固定格式字段;如LEFT(‘mysql数据库’,5)返回’MySQL’,RIGHT(‘13812345678’,4)返回’5678’;可结合LOCATE()提取邮箱用户名,需注意长度不足或负数时返回空值。

在 MySQL 中,LEFT() 和 RIGHT() 函数用于从字符串的左侧或右侧提取指定长度的字符。这两个函数非常实用,尤其是在处理固定格式字段(如日期、编号、邮箱等)时。
LEFT() 函数用法
LEFT(str, len) 从字符串 str 的左边开始截取 len 个字符。
- str:原始字符串
- len:要截取的字符数量
示例:
select LEFT(‘MySQL数据库’, 5); — 结果:MySQL
应用场景:提取姓名中的姓氏(假设姓名为“张三”,取第一个字):
SELECT LEFT(‘张三’, 1); — 结果:张
RIGHT() 函数用法
RIGHT(str, len) 从字符串 str 的右边开始截取 len 个字符。
示例:
SELECT RIGHT(‘MySQL数据库’, 3); — 结果:数据库
应用场景:提取手机号后四位:
SELECT RIGHT(‘13812345678’, 4); — 结果:5678
结合其他函数使用
这些函数常与 Length()、SUBSTRING() 或 TRIM() 配合使用。
例如:提取邮箱用户名部分(@前面的内容):
SELECT LEFT(‘zhangsan@gmail.com’, LOCATE(‘@’, ‘zhangsan@gmail.com’) – 1);
说明:LOCATE(‘@’, str) 返回 @ 的位置,减去 1 就是用户名长度。
基本上就这些。LEFT() 和 RIGHT() 简单直接,适合处理定长或规则明确的字符串截取需求,不复杂但容易忽略细节,比如长度为负数时返回空值。使用时注意数据长度是否足够,避免截取异常。