使用语法:SUBSTR(string,start, [length])
string:需要截取的字符串。
start: 起始位置,-3表示从倒数第三个字符开始,从左往右截取。
length:截取长度(默认截取到末尾)。
使用语法:INSTR(string,str, [start],[which])
string:源字符串。
str:查找的子字符串(可以是单个字符)。
start:起始位置(默认从开头查找),-3表示从倒数第三个字符开始,从右往左查找。
which:查找第几个。
组合使用可以截取两个字符中间的字符串,下面例子从字符串'da.bai.cai'中截取到'bai':
1.先使用SUBSTR函数写出模板
SUBSTR('da.bai.cai', 开始位置,长度)
2.开始位置:查找到第一个分隔符再加一
INSTR('da.bai.cai','.',1,1)+1
3.长度:中间位置长度不确定,所以查找第二个分隔符位置减去开始位置得到
INSTR('da.bai.cai','.',1,2) - (INSTR('da.bai.cai','.',1,1)+1)
4.结果为:
SELECT SUBSTR( 'da.bai.cai', INSTR('da.bai.cai','.',1,1)+1, INSTR('da.bai.cai','.',1,2) - INSTR('da.bai.cai','.',1,1)-1 ) FROM DUAL;
上一篇:xxl-job执行器无法自动注册