首页 > 数据库 > Oracle > 正文

Oracle網站上的每周一帖(Tip for Week of December 13, 2004)

2024-08-29 13:29:36
字体:
来源:转载
供稿:网友



                                                            計算一個字符串在另外一個字符串裡出現的次數
                                                                    aui de la vega,菲律賓
create function num_chars(instring varchar2, inpattern varchar2)
return number
is
counter number;
next_index number;
string varchar2(2000);
pattern varchar2(2000);
begin
counter := 0;
next_index := 1;
string := lower(instring);
pattern := lower(inpattern);
for i in 1 .. length(string) loop
if (length(pattern) <= length(string)-next_index+1)
and (substr(string,next_index,length(pattern)) = pattern) then
counter := counter+1;
end if;
next_index := next_index+1;
end loop;
return counter;
end;
代碼分析:
該代碼不是很復雜,利用next_index加一遞增,對instring做遍歷,從instring字符串的第next_index個字符開始截取
length(pattern)長度的字符串,如果截取的字符串等於pattern,則計數器counter+1,在pl/sql developer+oracle10+winnt
調試成功。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表