功能實例: substrbysep('aaa,bb,ccccc,ddd,vvv',',',3)返回結果 'ccccc'.
函數:
create or replace function substrbysep(sourceString varchar2,
destString varchar2,
appearPosition number)
return varchar2 is
substring varchar2(255);
--作者:Alex Liu
--功能:按分隔符截取字符串
--參數:1、原始字符串;2、分隔符;3、截取第幾段
begin
substring := substr(destString || sourceString || destString,
instr(destString || sourceString || destString,
destString,
1,
appearPosition) + 1,
instr(destString || sourceString || destString,
destString,
1,
appearPosition + 1) -
instr(destString || sourceString || destString,
destString,
1,
appearPosition) - 1);
return(substring);
end substrbysep;
/
另外一種方法正則表達式
SQL code
用正則表達式,一步就出來了
select regexp_substr('aaa,bb,ccccc,ddd,vvv','[^,]+',1,3)
from dual
;
REGEX
-----
ccccc