mysql截取字符串的四种方式

从左侧或右侧开始截取固定长度

left (str, length)
说明:left(被截取字段,截取长度)
right(str, length)
说明:right(被截取字段,截取长度)
image

截取字符串

substring(str, pos)
substring(str, pos, length)
说明:substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
image

按关键字截取字符串

substring_index(str,delim,count)
说明:substring_index(被截取字段,关键字,关键字出现的次数)

select SUBSTRING_INDEX('如果变得暴力不是为了杀戮,那将变得毫无意义','变得',1),
SUBSTRING_INDEX('如果变得暴力不是为了杀戮,那将变得毫无意义','变得',2),
SUBSTRING_INDEX('如果变得暴力不是为了杀戮,那将变得毫无意义','变得',-1),
SUBSTRING_INDEX('如果变得暴力不是为了杀戮,那将变得毫无意义','变得',-2);

image
简单说,保留关键字前面的就是正数,关键字后边就是负数。
例:想从字符串5号线/环中线-赤湾-电信_电信得到地铁站名赤湾

SUBSTRING_INDEX(SUBSTRING_INDEX(name,'-',-2),'-',1)
posted @ 2021-09-14 18:20  iiiiiiiivan  阅读(7397)  评论(0)    收藏  举报