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

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。

如果您有什么好的想法与方法,欢迎在评论区留言,我们一起讨论~

© 版权声明

相关文章

3 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    不爱睡觉的Jie 投稿者

    收藏了,感谢分享

    无记录
  • 头像
    汤圆妹妹 读者

    不错,特殊情况可以使用

    无记录
  • 头像
    海落下 投稿者

    可以。是不是有图形化的这种工具啊?

    无记录