1.首先要先创建数组create or replace type t_ret_table is table of varchar2(20);2.利用自定义函数实现一,利用函数返回数组.
create or replace function f_split_string(var_str in string,var_split In String) return t_ret_table
is
var_out t_ret_table;
var_tmp varchar2(4000);
var_element varchar2(4000);
begin
var_tmp := var_str;
var_out := t_ret_table();
--如果存在匹配的分割符
while instr(var_tmp,var_split)>0 loop
var_element := substr(var_tmp,1,instr(var_tmp,var_split)-1);
var_tmp := substr(var_tmp,instr(var_tmp,var_split)+length(var_split),length(var_tmp));
var_out.extend(1);
var_out(var_out.count) := var_element;
end loop;
var_out.extend(1);
var_out(var_out.count) := var_tmp;
return var_out;
end f_split_string;
3.利用 pipelined Function 函数实现.
create or replace function f_split(var_str in string,var_split In String) return t_ret_table PIPELINED
as
var_tmp varchar2(4000);
var_element varchar2(4000);
n_length Number := length(var_split);
begin
var_tmp := var_str;
while instr(var_tmp,var_split)>0 loop
var_element := substr(var_tmp,1,instr(var_tmp,var_split)-1);
var_tmp := substr(var_tmp,instr(var_tmp,var_split)+n_length,length(var_tmp));
pipe row(var_element);
end loop;
pipe row(var_tmp);
return;
end f_split;
Linux/Unix shell 监控Oracle实例(monitor instance)慎用alter table move相关资讯 Oracle字符串 Oracle分割字符串 Oracle字符串处理
- Oracle字符串截取和拼接应用 (04/05/2015 18:25:10)
- 工作中用到的Oracle字符串分割整理 (03/09/2014 10:15:46)
| - Oracle提取字符串中“汉字”串的解 (11/29/2014 08:08:50)
- Oracle 模糊查询中不包括某字符串 (12/26/2012 15:28:08)
|
本文评论 查看全部评论 (0)