首页 > 数据库 > mysql教程 > Oracle返回表类型的自定义函数

Oracle返回表类型的自定义函数

WBOY
发布: 2016-06-07 16:57:16
原创
1048 人浏览过

分割字符串的函数create or replace function sf_Split_String( sourceString varchar2,--待分割字符串,格式如

分割字符串的函数

create or replace function sf_Split_String(

       sourceString varchar2,--待分割字符串,格式如'wangqingku,shanghai3h'

       subString varchar2--分隔符

)

return Varchar2Varray

is

len integer:=length(subString);

lastpos integer:=1-len;

pos integer;

num integer;

i integer:=1;

ret Varchar2Varray:=Varchar2Varray(null);

begin

/*create or replace type Varchar2Varray is varray(100) of varchar2(40);*/

/*

         Create By: wangqingkun@shanghai3h.com

         Create Date:2010-07-02

         Description:分割字符串返回字符串列表

         select * from table(cast(sf_Split_String('Tube,YueXia,ZhangYongLi',',') as Varchar2Varray))

*/

loop

      pos:=instr(sourceString,subString,lastpos+len);

      if pos>0 then --found

         num:=pos-(lastpos+len);

      else--no found

         num:=length(sourceString)+1-(lastpos+len);

      end if;

     

      if i>ret.last then

         ret.extend;

       end if;

       ret(i):=substr(sourceString,lastpos+len,num);

      

       exit when pos=0;

       lastpos:=pos;

       i:=i+1;

end loop;

return ret;

end sf_Split_String;

linux

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板