PL/SQL实现Java中的split()方法的小例子


众所周知,Java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组。但是在pl/sql中并没有提供像java中的split()方法,所以要想在pl/sql中实现字符串的分割还需要自己动手。由于在项目中需要用到此类方法,所以自己研究了一下,方便以后参考。这里以逗号作为分隔符为例,代码如下:

declare
    v_str varchar2(200) := 'abd,324,u78,23f,sd09,2345,dsaf,9079';           
    type str_table_type is table of varchar2(50);
    strArr str_table_type := str_table_type('');
    v_index integer := 1;
begin
      while (length(v_str)-length(replace(v_str,',',''))) > 0 loop
          strArr(v_index) := substr(v_str,1,instr(v_str,',',1,1)-1);
          v_str := substr(v_str,instr(v_str,',',1,1)+1);
          strArr.extend;
          v_index := v_index + 1;
      end loop;
      strArr(v_index) := v_str;
      for i in strArr.first..strArr.last loop
        dbms_output.put_line(strArr(i));
      end loop;
end;

Oracle数据库之PL/SQL程序基础设计 

PL/SQL Developer实用技巧分享

使用PL/Scope分析PL/SQL代码 

在PL/SQL中使用日期类型

从一个案例看PL/SQL代码片的编译与运行

相关内容