計(jì)算一個(gè)字符串在另外一個(gè)字符串裡出現(xiàn)的次數(shù) 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; 代碼分析: 該代碼不是很復(fù)雜,利用next_index加一遞增,對(duì)instring做遍歷,從instring字符串的第next_index個(gè)字符開(kāi)始截取 length(pattern)長(zhǎng)度的字符串,如果截取的字符串等於pattern,則計(jì)數(shù)器counter+1,在pl/sql developer+oracle10+winnt 調(diào)試成功。