算字符存在个数Oracle
DECLARE
s varchar2(50);
n number;
cl varchar(50);
i number;
tmp varchar(50);
tmpcount number;
tmpflag number;
begin
cl:='abcdefgh';
s:='a,b,c,d';
n:= (LENGTH(s)+1)/2;
tmpcount:=0;
dbms_output.put_line(n);
for i in 1 .. n loop
tmp:=substr(s,instr(s,',',1,i)-1,1);
tmpflag:=instr(cl,tmp,1,1);
IF (tmpflag>0) THEN tmpcount:=tmpcount+1; END IF;
end loop;
dbms_output.put_line(tmpcount/n);
end;
s varchar2(50);
n number;
cl varchar(50);
i number;
tmp varchar(50);
tmpcount number;
tmpflag number;
begin
cl:='abcdefgh';
s:='a,b,c,d';
n:= (LENGTH(s)+1)/2;
tmpcount:=0;
dbms_output.put_line(n);
for i in 1 .. n loop
tmp:=substr(s,instr(s,',',1,i)-1,1);
tmpflag:=instr(cl,tmp,1,1);
IF (tmpflag>0) THEN tmpcount:=tmpcount+1; END IF;
end loop;
dbms_output.put_line(tmpcount/n);
end;