共计 1161 个字符,预计需要花费 3 分钟才能阅读完成。
众所周知,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 程序基础设计 http://www.linuxidc.com/Linux/2015-06/119013.htm
PL/SQL Developer 实用技巧分享 http://www.linuxidc.com/Linux/2014-09/107391.htm
使用 PL/Scope 分析 PL/SQL 代码 http://www.linuxidc.com/Linux/2015-07/120607.htm
在 PL/SQL 中使用日期类型 http://www.linuxidc.com/Linux/2015-07/120608.htm
从一个案例看 PL/SQL 代码片的编译与运行 http://www.linuxidc.com/Linux/2016-03/128904.htm
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133021.htm