計算一個字符串在另外一個字符串裡出現的次數 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 調試成功。