Oracle
 sql >> Base de données >  >> RDS >> Oracle

Convertir Varchar2 en tableau Char dans Oracle

Si vous voulez réellement dire une collection de caractères PL/SQL, vous pouvez faire quelque chose comme

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.

Sans comprendre les exigences de l'entreprise, cependant, j'aurais tendance à être très méfiant. Lorsque vous vous retrouvez à séparer des chaînes en PL/SQL, cela implique presque toujours que vous avez stocké des données sous une forme non atomique et que vous devez résoudre le problème du modèle de données.