1】substr
substr(string str , int a , int b) : 截取str从a开始的长度为b的字符。
select substr('本年累计新增承保保单件数-健康险-短期-个人-医疗保险-费用补偿型',14) as itemname from dual ; -- 截取从第14位后的所有的字符
substr(string str , int a ) : 截取str从a开始的后面所有的字符
2】instr
instr(string1 , string2) : string2第一次在string1中出现的位置
instr(string1 , string2 , start_position , number_time ) : string2在string1中从start_position开始查找,第 number_time 次出现的位置
例子1:
select instr('本年累计新增承保保单件数-健康险-短期-个人-医疗保险-费用补偿型','-') as itemname from dual ;
例子2:
select instr('本年累计新增承保保单件数-健康险-短期-个人-医疗保险-费用补偿型','-' , '14' ,'2' ) as itemname from dual ;
参考博客【instr()】:https://www.cnblogs.com/dshore123/p/7813230.html
参考博客【substr】:https://www.cnblogs.com/jichi/p/11139533.html