MySQL字符串截取:左截取、右截取、按关键字截取...

1、从左开始截取字符串

# 语法
SELECT LEFT(str,len)
str:被截取的字符串
len:截取长度

# 示例
SELECT LEFT('TF-8220210412003-1', 10)
# 结果为:TF-8220210

2、从右开始截取字符串

# 语法
SELECT RIGHT(str,len)
str:被截取的字符串
len:截取长度

# 示例
SELECT RIGHT('TF-8220210412003-1', 6)
# 结果为:2003-1 

3、截取特定长度的字符串

# 语法
SUBSTRING(str,pos)
str:被截取的字符串
pos:从第几位开始截取

SUBSTRING(str,pos,len)
str:被截取的字符串
pos:从第几位开始截取

# 示例
# 从字符串的第4个字符开始截取直至结束
SELECT SUBSTRING('TF-8220210412003-1', 4)
# 结果为:8220210412003-1

# 从字符串的第4个字符开始只截取6个字符
SELECT SUBSTRING('TF-8220210412003-1', 4, 6)
# 结果为:822021

# 从字符串的倒数第3个字符开始截取直至结束
SELECT SUBSTRING('TF-8220210412003-1', -3)
# 结果为:3-1

# 从字符串的倒数第9个字符开始,只截取3个字符
SELECT SUBSTRING('TF-8220210412003-1', -9, 3)
# 结果为:041

4、按关键字进行读取

# 用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)
SELECT SUBSTRING_INDEX(str,delim,count)

# 截取第二个“-”之前所有的字符
SELECT SUBSTRING_INDEX('TF-8220210412003-1', '-', 2)
# 结果为:TF-8220210412003

# 截取倒数第二个“-”之后的所有字符
SELECT SUBSTRING_INDEX('TF-8220210412003-1', '-', -2)
# 结果为:8220210412003-1

# 如果关键字不存在,则返回整个字符串
SELECT SUBSTRING_INDEX('TF-8220210412003-1', '=',  2)
# 结果为:TF-8220210412003-1

你可能感兴趣的:(MySQL,mysql,数据库)