Description: Converts a string of text into separate soundex values.
Treating it as space delimited words. Useful when searching text
strings for a "sounds like" value.
CREATE OR REPLACE FUNCTION "M_SOUNDEX" (v_text IN VARCHAR2) RETURN VARCHAR2 IS
v_number NUMBER(10);
v_textin VARCHAR2(4000);
v_textout VARCHAR2(4000);
BEGIN
SELECT UPPER (TRIM( v_text )) INTO v_textin FROM dual;
DBMS_OUTPUT.put_line( 'Entered text :' || v_textin);
SELECT '' INTO v_textout FROM dual;
LOOP
SELECT INSTR( v_textin , ' ' , 1 , 1 ) INTO v_number FROM dual;
IF v_number = 0 THEN
SELECT v_textout || ' ' || SOUNDEX(v_textin) INTO v_textout FROM dual ;
EXIT;
ELSE
SELECT v_textout || ' ' || SOUNDEX(SUBSTR (v_textin , 0 , v_number - 1 )) INTO v_textout FROM dual;
SELECT SUBSTR (v_textin , v_number + 1 ) INTO v_textin FROM dual;
END IF;
END LOOP;
RETURN( v_textout );
END M_SOUNDEX;
-- select M_SOUNDEX('the cat sat on the mat') from dual where
-- M_SOUNDEX('the cat sat on the mat') like ('%' || SOUNDEX('cot') || '%');
Halim, a Georgia Tech graduate Senior Database Engineer/Data Architect based in Atlanta, USA, is an Oracle OCP DBA and Developer, Certified Cloud Architect Professional, and OCI Autonomous Database Specialist. With extensive expertise in database design, configuration, tuning, capacity planning, RAC, DG, scripting, Python, APEX, and PL/SQL, he combines technical mastery with a passion for innovation. Notably, Halim secured 16th place worldwide in PL/SQL Challenge Cup Playoff on the year 2010.
Sunday, September 27, 2009
Subscribe to:
Post Comments (Atom)
My Blog List
-
-
-
ASSM states3 weeks ago
-
UKOUG Discover 20241 month ago
-
-
-
-
-
-
-
-
Moving Sideways8 years ago
-
-
Upcoming Events...11 years ago
-
No comments:
Post a Comment