Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: How can I convert strings efficiently?
You can write your own function to loop through the string and replace
any junk if you wish if you dont want to use Replace.
Here is one i just done.
CREATE OR REPLACE FUNCTION Format_String(in_orig_string IN VARCHAR2) RETURN VARCHAR2 IS
v_new_string VARCHAR2(1000); v_length NUMBER; V_chr varchar2(1); V_include BOOLEAN;
FOR i IN 1..v_length LOOP
v_include := FALSE; v_chr := SUBSTR(in_orig_string, i, 1); IF (ASCII(v_chr) >= 65 AND ASCII(v_chr) <= 90) OR -- A to Z (ASCII(v_chr) >= 97 AND ASCII(v_chr) <= 122) OR -- a to z (ASCII(v_chr) >= 48 AND ASCII(v_chr) <= 57) THEN -- 0 to 9 v_include := TRUE; END IF; IF v_include THEN v_new_string := v_new_string || v_chr; END IF;
END LOOP; RETURN v_new_string;
END; 1* select Format_String('ABC;[=/#DEF12+3') FROM DUAL SQL> / FORMAT_STRING('ABC;[=/#DEF12+3')
![]() |
![]() |