ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 以字符串及序号为参数,截取以逗号为分隔符的字串段

以字符串及序号为参数,截取以逗号为分隔符的字串段

原创 Linux操作系统 作者:wouwouwou 时间:2011-05-20 12:14:34 0 删除 编辑

create or replace function split_by_seq(c varchar2, m number)
  return varchar2 as
  st number := 1;
  ed number;
  l  number;
  n  number := m;

begin
  if c is null or m is null then
    return 0;
  end if;

  loop
    ed := instr(c, ',', st);
    if (ed = 0 and n - 1 <> 0) then
      return 'Input errors!';
    end if;
    n := n - 1;
    if n = 0 then
      exit;
    else
      st := ed + 1;
    end if;
 
  end loop;
  if ed = 0 then
    return substr(c, st);
  end if;
  l := ed - st;
  return substr(c, st, l);

  return 0;
end;

-------------------------------------------------------------------------------------------------------------

SQL> select split_by_seq('123,456,789,987,654,321,012,120',4) from dual;
 
SPLIT_BY_SEQ('123,456,789,987,
--------------------------------------------------------------------------------
987
 
SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24825020/viewspace-695831/,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux命令
请登录后发表评论 登录
全部评论

注册时间:2010-12-09

  • 博文量
    6
  • 访问量
    11760