substring_index(input,split,index):input为要截取的字符,split为分隔符,Index为要截取第index个分隔符左(index为正)或右(index为负)的字符串。
创新互联公司2013年成立,先为杭锦等服务建站,杭锦等地企业,进行企业商务咨询服务。为杭锦企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
举例:
'Provider="RiskManagement" finalScore="65" RGID="100397278"' //获取finalScore的值
1、获取finalScore右边的字符
select substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1);
2、再获取" RGID="左边的字符
select substring_index(substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1),'" RGID="',1);
扩展资料
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
1、字符串截取:left(str, length)
mysql select left('sqlstudy点抗 ', 3);
| left('sqlstudy点抗 ', 3) |
| sql |
2、字符串截取:right(str, length)
mysql select right('sqlstudy点抗 ', 3);
| right('sqlstudy点抗 ', 3) |
| com |
如果最后面是4为,那么你取值时,只要把你字符串截取到总长度-4就行了(此条件必须是长度为两位),附SQL:
update
test
set
Name=substring(Name,1,length(Name)-4);
如果后面是任意长度,那么你需要截取到最后一个“[”这里,可以用以下SQL:
SELECT
replace(Name,
REVERSE(LEFT(REVERSE(Name),INSTR(REVERSE(Name),'[')))
,'')
from
test
中间那段是取最后那个[任务数字]的,请收藏。
MySQL里面可以截取字符串的方法还是很丰富的:
# 从左侧截取,截取指定长度
left(str,len)
# 右侧
right(str,len)
# 从中间某个位置截取指定长度
MID(str,pos,len)
# 同上
SUBSTR(str FROM pos FOR len)
# 从某个位置开始之后所有的字符
SUBSTR(str,pos)