一个简单的faction实现字符串截取功能:
函数说明:
一、功能
一个使用‘,’为分隔符的字符串将其截取,将两个逗号间的字符串拿出来
二、重要oracle关键字
1、INSTR(源字符串,要查找的字符,开始位置,出现的次数)
这个函数将返回要查找的字符串在源字符串中出现的位置。
例子:select instr('abcd','b',1,1) from dual;
结果:2
2、substr(源字符串,开始截取位置,截取位数)
这个函数将放回源字符串从第几位开始后的n个字符。
例子select substr('abcd',2,2) from dual;
结果:bc
三、函数举例
string=(aa,bbb,cccc);
结果为将字符串拆分为:aa bbb cccc三个子字符串
-------------------------------------------------------------------------------我是分割线------------------------------------------------------------
代码体:
create or replace function F_CUT_STRING(s_string in varchar) return boolean is
Result boolean;
v_string varchar2(1000);
tmp_string varchar2(1000);
position_no number(10);
ocurrence_no number(10);
time_no number(10);
begin
Result:=false;
-----字符串截取
v_string:=s_string||',';
position_no:=1;
time_no:=1;
while(INSTR(v_string,',',position_no,1)<>0) loop
ocurrence_no:=INSTR(v_string,',',position_no,1)-time_no;
tmp_string:=substr(v_string,
position_no,
ocurrence_no);
time_no:=INSTR(v_string,',',position_no,1)+1;
position_no:=INSTR(v_string,',',position_no,1)+1;
dbms_output.put_line(tmp_string||'%');
Result:=true;
end loop;
return(Result);
end F_CUT_STRING;
本文介绍了一个使用Oracle SQL函数INSTR和SUBSTR实现的简单字符串截取功能,该函数能够根据逗号分隔符将输入的字符串拆分成多个子字符串,并通过示例展示了如何在PL/SQL中编写自定义函数来完成这一任务。
501

被折叠的 条评论
为什么被折叠?



