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