ITPub博客

首页 > 数据库 > Oracle > fun_get_split_str 取得一个字符串,按照特定字符分隔的,特定位置的值.

fun_get_split_str 取得一个字符串,按照特定字符分隔的,特定位置的值.

原创 Oracle 作者:jidongzheng 时间:2010-02-23 10:24:26 0 删除 编辑

create or replace function fun_get_split_str(p_str varchar2,
p_delimiter varchar2 default ',',
p_pos integer)
return varchar2
/*
auther : jidongzheng
desc :取得一个字符串,按照特定字符分隔的值.
para:
p_str :输入,提取的源字符串.
p_delimiter:分隔符
p_pos :提取的目标字符位置.从1开始

*/

as
j INT := 0;
i INT := 1;
k int := 0;
len INT := 0;
len1 INT := 0;
str VARCHAR2(4000);

begin

len := LENGTH(p_str);
len1 := LENGTH(p_delimiter);

WHILE j < len LOOP

j := INSTR(p_str, p_delimiter, i);

IF j = 0 THEN
j := len;
str := SUBSTR(p_str, i);
k := k + 1;
IF i >= len THEN
EXIT;
END IF;
ELSE
str := SUBSTR(p_str, i, j - i);
i := j + len1;
k := k + 1;
END IF;
if k = p_pos then
exit;
end if;

end loop;

if k = p_pos then
return str;
else
return null;
end if;

end;

[@more@]

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

上一篇: oracle occi 连接池
请登录后发表评论 登录
全部评论
  • 博文量
    152
  • 访问量
    724077