CREATE OR REPLACE FUNCTION F_HPS_SPLIT
/*
* 功 能: split.
* 输入参数: Liststr string
* 输入参数: Sepe index
* 输入参数: Sepe separator. default is ','.
* return sepeCount
*/
(
Liststr in varchar2,
inde in number,
Sepe in varchar2 := ','
) return varchar2 is
-- 去掉前后分隔符后的字符串
Str varchar2(4000);
-- 要返回的字符串
retStr varchar2(100);
-- 分隔符个数
sepeCount number(4);
begin
-- 去掉前后的分隔符;
Str := TRIM(BOTH Sepe from Liststr);
sepeCount := f_hps_getsepcount(Liststr, Sepe);
IF sepeCount = 0 THEN
return Liststr;
END IF;
IF inde > sepeCount THEN
retStr := '0';
ELSIF inde = sepeCount THEN
retStr := Substr(str, Instr(str, Sepe, 1, inde) + 1, length(Str));
ELSIF inde = 0 THEN
retStr := Substr(str, 1, Instr(str, Sepe, 1, 1) - 1);
ELSE
str := SubStr(Str, Instr(str, Sepe, 1, inde) + 1, length(str));
retStr := Substr(str, 1, Instr(str, Sepe, 1, 1) - 1);
END IF;
return retStr;
end;
由于之前学习oracle的时候比较随意,看书也是比较少去深入思考原理,而从前几天决定要重新燃起oracle的学习激情后,我又重新的从基础学起,此时我学oracle的心态也比以前好很多了,现在是努力的一点一点去啃了,即使很花时间,但我想正是通过今天我这样的埋头苦读才会换来有朝一日在oracle方面的质的飞跃的。
  ......