Convert Varchar2 to Char array in Oracle

落花浮王杯 提交于 2019-12-11 06:16:21

问题


I have a varchar2 field and want to split it to array of chars Like 'ABCDEF' --> 'A' 'B' 'C' 'D' 'E' How can i convert my Field Values to chars array?


回答1:


If you actually mean a PL/SQL collection of characters, you could do something like

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.

Without understanding the business requirements, though, I would tend to be very suspicious. When you find yourself breaking apart strings in PL/SQL, that almost always implies that you have stored data in a non-atomic form and need to address the data model issue.



来源:https://stackoverflow.com/questions/19109413/convert-varchar2-to-char-array-in-oracle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!