一、建立陣列型別
sql**
create
orreplace type t_ret_table is
table
of nvarchar2(1000);
二、建立字串分割函式
sql**
create or replace function f_split_string(as_str nvarchar2,as_split nvarchar2)
return t_ret_table is
-- author : jack.dr
-- created : 2015/12/22 15:53:26
-- purpose : 字串分割
-- params
-- as_str : 要處理的字串
-- as_split :字串分割符
v_out t_ret_table;
v_tmp nvarchar2(4000);
v_element nvarchar2(4000);
begin
v_tmp := as_str;
v_out := t_ret_table();
--如果存在匹配的分割符
while instr(v_tmp, as_split) > 0
loop
v_element := substr(v_tmp, 1, instr(v_tmp, as_split) - 1);
v_tmp := substr(v_tmp,
instr(v_tmp, as_split) + length(as_split),
length(v_tmp));
v_out.extend(1);
v_out(v_out.count) := v_element;
endloop;
if v_tmp is
notnull
then
v_out.extend(1);
v_out(v_out.count) := v_tmp;
endif;
return v_out;
end f_split_string;
ok,到此功能已經實現。
三、呼叫
sql呼叫
select * from
table(f_split_string('1,2,3,4,5,6',','));
**塊呼叫
declare
v_array t_ret_table;
begin
v_array := f_split_string('1,2,3,4,5,6',',');
for i in
1..v_array.count loop
dbms_output.put_line(v_array(i));
endloop;
end;
Oracle 分割字串
第一種方式建立函式 create or replace type str split is table of varchar2 4000 create or replace function splitstr p string in varchar2,p delimiter in varchar2 ...
Oracle 字串分割 Split
一 建立陣列型別 sql create orreplace type t ret table is table of varchar2 512 二 建立字串分割函式 sql create orreplace function f split string as str varchar2,as spl...
Oracle 字串分割 Split
廢話不多說直接上 一 建立陣列型別 create or replace type t ret table is table of varchar2 512 二 建立字串分割函式 create or replace function f split string as str varchar2,as ...