自定義Oracle replace函數不區分大小寫

在網上找的一函數,後來發現有點小問題,自己改了一下。

 

 

Function StrReplace(n_Str     IN varchar2,
                    n_Search  IN varchar2,
                    n_Replace IN varchar2) return varchar2 is
  v_Result varchar2(4000);
  v_Pos    number;
  v_Len    number;
  v_len_r  number;
begin
  v_Result := n_Str;
  v_Len    := length(n_Search);
  v_len_r  := length(n_Replace);

  v_Pos := instr(Upper(v_Result), Upper(n_Search));
  while v_Pos <> 0 loop
    v_Result := SubStr(v_Result, 1, v_Pos - 1) || n_Replace ||
                SubStr(v_Result, v_Pos + v_Len);
    v_Pos    := instr(Upper(v_Result), Upper(n_Search), v_Pos + v_Len_r);
  end loop;
  return(v_Result);
end;

 

 

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