-- Using DBMS_UTILITY.Comma_To_Table(list, tablen, tab) a -- comma separated string (list) can be converted to a -- PL/SQL table. This works for "," only as the name -- implies. Other separators such as ";", "|" etc. need -- to be replaced to comma to use this procedure. SET SERVEROUTPUT ON; DECLARE o_array DBMS_UTILITY.uncl_array; o_count BINARY_INTEGER; i_str VARCHAR2(100) := 'sun,mon,tue,wed,thu,fri,sat'; i_str2 VARCHAR2(100) := 'sun;mon|tue,wed,thu,fri,sat'; BEGIN DBMS_UTILITY.comma_to_table(list => i_str, tablen => o_count, tab => o_array ); FOR idx IN 1..o_count LOOP DBMS_OUTPUT.PUT_LINE('idx['||idx||'] -> '||o_array(idx)); END LOOP; i_str2 := REPLACE(REPLACE(i_str2,';',','),'|',','); DBMS_UTILITY.comma_to_table(list => i_str2, tablen => o_count, tab => o_array ); FOR idx IN 1..o_count LOOP DBMS_OUTPUT.PUT_LINE('idx['||idx||'] -> '||o_array(idx)); END LOOP; END; / => Comma_To_Table Output
55033