第一种方法
CREATE OR REPLACE FUNCTION MES_Get_StrOfIndex
(
av_str varchar2, --要分割的字符串
av_split varchar2, --分隔符号
av_index number --取第几个元素
)
return varchar2
is
lv_str varchar2(1024);
lv_strOfIndex varchar2(1024);
lv_length number;
/***************************
create by : pqh 2016-04-14
Description : 字符分割函数
***************************/
begin
lv_str:=ltrim(rtrim(av_str));
lv_str:=concat(lv_str,av_split);
lv_length:=av_index;
if lv_length=0 then
lv_strOfIndex:=substr(lv_str,1,instr(lv_str,av_split)-length(av_split));
else
lv_length:=av_index+1;
lv_strOfIndex:=substr(lv_str,instr(lv_str,av_split,1,av_index)+length(av_split),instr(lv_str,av_split,1,lv_length)-instr(lv_str,av_split,1,av_index)-length(av_split));
end if;
return lv_strOfIndex;
end MES_Get_StrOfIndex;
第二种方法
if instr(c_data.package_size,'*')>0 then
sPkgsize_1:=substr(c_data.package_size,1,instr(c_data.package_size,'*')-1);
sPkgsize_1:=trim(sPkgsize_1);
sPkgsize_2:=substr(c_data.package_size,instr(c_data.package_size,'*')+1);
sPkgsize_2:=trim(sPkgsize_2);
end if;
Update pdc_control_value t set t.controlvalue= sPkgsize_1
Where T.REQNO=sReqno
AND T.CONTROLID IN (select T2.SYSID from Pdc_privilege_control t2
where T2.WORKFLOWID='2c1dc484-d712-48cd-a28e-9b679aba419e'
AND T2.CONTROLNAME='ASSY_MarkTC_PS');
Update pdc_control_value t set t.controlvalue= sPkgsize_2
Where T.REQNO=sReqno
AND T.CONTROLID IN (select T2.SYSID from Pdc_privilege_control t2
where T2.WORKFLOWID='2c1dc484-d712-48cd-a28e-9b679aba419e'
AND T2.CONTROLNAME='ASSY_MarkTC_*');