1,instr(源字符串,目标字符串,搜索位置,匹配第几个)
注意:字符串的位置是从1开始,搜索位置必须为从1开始,如果搜索位置为0,则查找结果为0,查找结果为0代表未找到。
select instr('acv','c',1,1) from dual;从a开始,查找第一个匹配c的位置,结果为2
2,substr(字符串,截取位置,截取长度)
注意:索引位置为1开始,如果为0,还是为1
select substr('acv',1,1) from dual //a
select substr('acv',0,1) from dual //a
如果截取位置为负数,从右边到左边从1开始数,截取顺序仍然按从左到右
select substr('acv',-1) from dual //v
select substr('acv',-2,1) from dual //c
注意:字符串的位置是从1开始,搜索位置必须为从1开始,如果搜索位置为0,则查找结果为0,查找结果为0代表未找到。
select instr('acv','c',1,1) from dual;从a开始,查找第一个匹配c的位置,结果为2
2,substr(字符串,截取位置,截取长度)
注意:索引位置为1开始,如果为0,还是为1
select substr('acv',1,1) from dual //a
select substr('acv',0,1) from dual //a
如果截取位置为负数,从右边到左边从1开始数,截取顺序仍然按从左到右
select substr('acv',-1) from dual //v
select substr('acv',-2,1) from dual //c