1. oracle 数据库 split(a,b) 函数
具体代码参考如下:
select * from table(split('2#3#4#5#',‘#’))
其中p_list :为传入参数
p_sep:为需要切割的标记,如 ‘,’ , ‘ # ’ ,‘ / ’等等
create or replace function split(p_list in varchar2, p_sep in varchar2) return type_split pipelined
IS
j int := 0;
i int := 1;
len int := 0;
len1 int := 0;
v_list varchar2(5000);
BEGIN
len := length(p_list);
len1 := length(p_sep);
while j < len
loop
j :=INSTR(p_list,p_sep,i);
if j = 0 then
j := len;
v_list := substr(p_list,i) ;
pipe row(v_list);
if i > len then
exit;
end if;
else
v_list := substr(p_list,i,j - i);
i := j + len1;
pipe row(v_list);
end if;
end loop;
return;
end split;
具体结果参考下图:
版权声明:本文为zhangyuliang6430原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。