create or replace function SPLITER(p_value varchar2 ,
p_split varchar2 := ',' ,times integer := 1)
--参数1 表示字符串,参数2 为分隔符,参数3 为第几个
return varchar2 as
v_idx1 integer;
v_idx2 integer;
v_strs_last varchar2(4000 ) := p_value;
begin
if times= 1 then
return substr(v_strs_last,1 ,instr(v_strs_last,p_split,1, 1)-1 );
end if;
v_idx1 := instr(v_strs_last, p_split, 1,times-1 );
v_idx2 := instr(v_strs_last, p_split, 1,times);
if v_idx2= 0 then
return substr(v_strs_last,v_idx1+1 );
end if;
return substr(v_strs_last,v_idx1+ 1,v_idx2-v_idx1-1 );
end SPLITER;
PLSQL的截取函数
最新推荐文章于 2024-06-12 19:20:06 发布