oracle split函数

chenjianwensheng 2011-07-18 11:01:15
create or replace type type_split as table of varchar2(2000); --创建数组


create or replace function split

(p_list varchar2,p_sep varchar2 := ',') return type_split pipelined

is

l_idx pls_integer;

v_list varchar2(50) := p_list;

begin

loop

l_idx := instr(v_list,p_sep);

if l_idx > 0 then

pipe row(substr(v_list,1,l_idx-1));

v_list := substr(v_list,l_idx+length(p_sep));

else

pipe row(v_list);

exit;

end if;

end loop;

return;

end split;

测试:





SQL> select * from table(split('测试一,测试二',','));


...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liufengyi2006 2011-07-20
  • 打赏
  • 举报
回复
占位符
我嘞个去 2011-07-20
  • 打赏
  • 举报
回复
皮皮 2011-07-20
  • 打赏
  • 举报
回复
呵呵。接分就对了
luoluo11108 2011-07-20
  • 打赏
  • 举报
回复
这个是分享的么???

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧