step 1 : create a Table types named "DIVISION_ARRAY" CREATE TYPE "DIVISION_ARRAY" AS TABLE OF VARCHAR2(12) step 2 : execute the below procedures CREATE OR REPLACE FUNCTION "UNPACKDIVISIONARRAY" (Source IN VARCHAR2 DEFAULT NULL, Delimiter IN CHAR DEFAULT ',') RETURN division_array PIPELINED IS l_list varchar2(32767) := Source; l_idx pls_integer; l_value varchar2(32767); BEGIN loop l_idx := instr(l_list,Delimiter); if l_idx > 0 then pipe row(substr(l_list,1,l_idx-1)); l_list := substr(l_list,l_idx+length(Delimiter)); else pipe row(l_list); exit; end if; end loop; return; end UNPACKDIVISIONARRAY; step 3 : execute the below sql to see the result Select column_value from TABLE(UNPACKDIVISIONARRAY('111,113')) hope that this will help you. regards, Sumith Koshy Thankan, OASYS Information Technology. Dubai