在Oracle中将Varchar2转换为Char数组

时间:2013-10-01 06:26:23

标签: oracle split char varchar2

我有一个varchar2字段,想要将其拆分为字符数组 像'ABCDEF' - > 'A''B''C''D''E' 如何将字段值转换为字符数组?

1 个答案:

答案 0 :(得分:2)

如果您实际上是指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中分解字符串时,这几乎总意味着您以非原子形式存储数据并且需要解决数据模型问题。