在Oracle中将Varchar2转换为Char数组 [英] Convert Varchar2 to Char array in Oracle

查看:1194
本文介绍了在Oracle中将Varchar2转换为Char数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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?

推荐答案

如果您实际上是指PL/SQL字符集合,则可以执行类似的操作

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.

但是,如果不了解业务需求,我会非常怀疑.当您发现自己在PL/SQL中分解字符串时,几乎总是意味着您已以非原子形式存储数据,并且需要解决数据模型问题.

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.

这篇关于在Oracle中将Varchar2转换为Char数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆