declare
dosweeklist varchar2(4000);
begin
dosweeklist:='17687687,87687687,453453,099865,43655669,8768543,7647474,76476899,3453254325,989797';
for i in (SELECT SUBSTR(dosweeklist,
case when level=1 then 1 else INSTR(dosweeklist,',',1,LEVEL-1)+1 end,
NVL(NULLIF(INSTR(dosweeklist,',',1,LEVEL),0),length(dosweeklist)+1) - case when level=1 then 1 else INSTR(dosweeklist,',',1,LEVEL-1)+1 end) dat,level l
FROM dual
CONNECT BY LEVEL <= LENGTH(dosweeklist) - LENGTH(REPLACE(dosweeklist,',','')) +1)
loop
dbms_output.put_line(i.dat || ' ' || i.l);
end loop;
end;