create or replace function strsplit(p_value varchar2,
p_split varchar2 := ',')
return ty_str_split
pipelined is
v_idx integer;
v_str varchar2(3000);
v_strs_last varchar2(4000) := trim(p_split from p_value);
begin
loop
v_idx := instr(v_strs_last, p_split);
exit when v_idx = 0;
v_str := substr(v_strs_last, 1, v_idx - 1);
v_strs_last := substr(v_strs_last, v_idx + 1);
pipe row(v_str);
end loop;
pipe row(v_strs_last);
return;
end strsplit;
Tags:
文章來源: