欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle自定义splitstr

程序员文章站 2022-03-10 19:16:38
[toc] oracle自定义splitstr 有时候我们需要将('a,b,c,d')字符分割开,这个时候就需要oracle自定义一个splitstr函数,操作起来非常简单,执行下面的function就可以了。 ......

目录

oracle自定义splitstr

有时候我们需要将('a,b,c,d')字符分割开,这个时候就需要oracle自定义一个splitstr函数,操作起来非常简单,执行下面的function就可以了。

create or replace function splitstr(p_string    in varchar2,
                                    p_delimiter in varchar2)
  return str_split
  pipelined as
  v_length number := length(p_string);
  v_start  number := 1;
  v_index  number;
begin
  while (v_start <= v_length) loop
    v_index := instr(p_string, p_delimiter, v_start);
  
    if v_index = 0 then
      pipe row(substr(p_string, v_start));
      v_start := v_length + 1;
    else
      pipe row(substr(p_string, v_start, v_index - v_start));
      v_start := v_index + 1;
    end if;
  end loop;

  return;
end splitstr;