Ако всъщност имате предвид PL/SQL колекция от знаци, можете да направите нещо като
SQL> ed
Wrote file afiedt.buf
1 declare
2 type char_arr is table of char(1) index by pls_integer;
3 l_str varchar2(100) := 'ABCDEF';
4 l_arr char_arr;
5 begin
6 for i in 1 .. length(l_str)
7 loop
8 l_arr(i) := substr( l_str, i, 1 );
9 end loop;
10 dbms_output.put_line( l_arr.count );
11* end;
SQL> /
6
PL/SQL procedure successfully completed.
Въпреки това, без да разбирам бизнес изискванията, бих бил много подозрителен. Когато установите, че разбивате низове в PL/SQL, това почти винаги означава, че сте съхранили данни в неатомна форма и трябва да разрешите проблема с модела на данните.