首页 > 技术文章 > Oracle || 截取字符 的 函数

wuzimeimei 2020-09-27 19:08 原文

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

推荐阅读