substring_index()根据指定字符分割字符串
格式:substring(str1,char1,int1)
str1:要处理的字符串 (例如 ‘A|B|C|D|E|F|G|H’)
cahr1:分隔符
int1:分割符位置,正表示从前往后数,取之前的内容;负表示从后往前数,取之后的内容,若无法理解,下面直接上例子方便理解。
1. int1为正,从前往后数第三个分隔符,去其之前的内容。
select substring_index('A|B|C|D|E|F|G|H','|',3);
运行结果:
2. int1为负,从后往前数第三个分割符取,取其之后的内容
select substring_index('A|B|C|D|E|F|G|H','|',-3);
运行结果:
注意:substring_index函数可以嵌套
select substring_index(substring_index('A|B|C|D|E|F|G|H','|',-3),'|',-1);
运行结果: