分离字符串的方法

-------strName  目标字符串

------subName  分离字符串

------len  分离字符的下标

create or replace function  subString(strName in varchar2, subName in varchar, len in number) return varchar2 is
  n number(10);
  p number(10);
  retunstr varchar2(20);
  maxSize number(10);
  outMaxize exception;
begin
  n:=0;
  maxSize:=getstrnum(strName,subName);
  if(len>maxSize) then
    raise outMaxize;
  end if;
  if (len=1) then
    p:=0;
  else
    p:=instr(strName,subName,1,len-1); 
  end if;
  n:=instr(strName,subName,1,len);
  retunstr:=substr(strName,p+1,n-p-1);
   return(retunstr);
 exception 
 when outMaxize  then
   return('-1');
end ;

--------- str  分离字符串

-------- s  下标

--------此方法目的是获取分离字符串在字符串中的个数,以此来获取分离字符的下标

create or replace function getStrNum (str in varchar2,s in varchar2) return number is
len number(10);
num number(10);
begin
  len:=length(str);
  num:=0;
  for i in 1..len loop
     if (substr(str,i,1)=s) then
           num:=num+1;
     end if;
  end loop;
  return(num);
end ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值