SQL截取字符串实例解释(MySQL) left()、right()、substring()、substring

tech2026-06-07  2

1. 截取左侧字符串 left(str, length)

str:被截取的字符串。 length:截取的长度

SELECT LEFT('12345678',3)

结果:123

如果 length 的值大于 str 的长度,返回整个字符串

SELECT LEFT('1234',9)

结果:1234

2. 截取右侧字符串 left(str, length)

SELECT RIGHT('87654321',3)

结果:321

3. 从指定位置开始截取 substring(str, pos)

str: 被截字符串 pos: 开始截取的位置

SELECT SUBSTRING('12345678', 5)

结果:5678

如果 pos 传负数,取右侧的指定位数的字符

SELECT SUBSTRING('12345678', -3)

结果:678

4. substring(str, pos, length)

str:被截字符串 pos:开始的位置 length:截取的 长度

SELECT SUBSTRING('12345678', 3,2)

结果:34

如果 POS 为负数,开始位置从右侧开始数,向右取子串

SELECT SUBSTRING('87654321', -3,2)

结果:32

5. 按分隔符截取 substring_index(str, delim, count)

str:被截字符串 delim:分隔符 count:第几个分隔符。正数:取左侧第N个分隔符左侧的子串;负数:取右侧第N个分隔符右侧的子串;

SELECT SUBSTRING_INDEX('1-2-3-4-5-6-7', '-', 2);

结果:1-2

SELECT SUBSTRING_INDEX('1-2-3-4-5-6-7', '-', -2);

结果:6-7 如果被截字符串里找不到分隔符,返回整个字符串

SELECT SUBSTRING_INDEX('1-2-3-4-5-6-7', '%', -2);

结果:1-2-3-4-5-6-7

最新回复(0)