--本文摘自klyuan
- Parameters:
- pi_string 要处理的字符
- pi_separator 分隔符
- pi_count 第n个分隔符
- function get_part_char(pi_string in varchar2, pi_separator in varchar2, pi_count number) return varchar2 is
- pos number;
- c_pos number;
- begin
- if pi_string is null or pi_separator is null then
- return '';
- end if;
- if pi_count < 1 then
- return '';
- end if;
- if pi_count = 1 then
- pos := instr(pi_string, pi_separator);
- if pos = 0 then
- return pi_string;
- else
- return substr(pi_string,0,pos-1);
- end if;
- else
- pos := instr(pi_string, pi_separator,1,pi_count -1);
- c_pos := instr(pi_string, pi_separator, 1, pi_count)
- if pos = 0 then
- return '';
- end if;
- if c_pos = 0 then
- return substr(pi_string, pos+1, length(pi_string) - pos);
- else
- return substr(pi_string, pos+1, c_pos - pos -1);
- end if;
- end if;
- end get_part_char;