==================================================================
字符串出现的次数
1。有点问题就是ababa只算出现一次的过程
declare
string_source varchar2(2000) := 'abadfdbbasdadsabababadbadbabjdfhahhfahhjabfbababfjgh';
rep_string varchar2(10) := 'aba';
counts integer := 0;
begin
select (length(string_source)-length(replace(string_source,rep_string,'')))/length(rep_string) into counts from dual;
dbms_output.put_line('Count : '||counts);
end;
/
Count : 4
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
2。ababa算作出现两次的和过程
declare
string_source varchar2(2000) := 'ababdfdabbadsababababbabafaabahjabfbababah';
rep_string varchar2(10) := 'aba';
counts integer := 0;
--v_temp integer := 0;
v_flag integer := 0;
begin
-- select instr(string_source,rep_string,1,counts+1) into v_temp from dual;
-- if (v_temp = 0) then
-- dbms_output.put_line('不存在匹配的字符串');
loop
select instr(string_source,rep_string,1,counts+1) into v_flag from dual;
if (v_flag != 0 )
then counts := counts+1;
v_flag := 0 ;
else exit ;
end if;
end loop;
dbms_output.put_line('Count : '||counts);
end;
/
Count : 8
PL/SQL procedure successfully completed.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24890594/viewspace-694776/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24890594/viewspace-694776/