PLSQL的截取函數

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;
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章