关于网友提出的“ 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串问题”问题疑问,本网通过在网上对“ 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串问题
描述:存储数据库
数据库传过去是这样的格式
101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]
我只取前面的ID
101518 这样的
客户有可能传三个这样的 有可能1个 有可能更多
请问存储过程如何截取?
解决方案1: oracle
<>
create or replace procedure strcut(str varchar2)
as
type c_array is table of varchar2(10) index by binary_integer;
p number default 0;
idx number default 0;
strc varchar2(200);
ca c_array;
begin
strc:=str;
loop
p:=instr(strc,'-',1);
exit when p=0;
ca(idx):=substr(strc,1,p-1);
print(ca(idx));
idx:=idx+1;
p:=instr(strc,'|',1);
exit when p=0;
strc:=substr(strc,p+1,length(strc));
end loop;
end strcut;
/
call strcut('101518-销售合同评审流程 [ HTP-20130114-001 ] |101470-销售合同评审流程 [ HTP-20130109-001 ]');
以上介绍了“ 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 收藏 关于存储过程动态截取字符串问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2124092.html