sql >> Databáze >  >> RDS >> Oracle

Převeďte pole Varchar2 na pole Char v Oracle

Pokud máte na mysli kolekci znaků PL/SQL, můžete udělat něco jako

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.

Bez pochopení obchodních požadavků bych však měl tendenci být velmi podezřívavý. Když zjistíte, že v PL/SQL rozdělujete řetězce, téměř vždy to znamená, že máte uložená data v neatomické formě a potřebujete vyřešit problém s datovým modelem.




  1. Připojení .NET na Linuxu ke zdroji dat ODBC

  2. Dotaz Rails .where() nefunguje

  3. Výchozí kódování znaků SQL Server

  4. Jak najít chybějící indexy v MySQL?