一句话就搞定了,不用过程
Select Sum(no)
From (Select Regexp_Substr('2,3,4,5', '[^,]+', 1, Level) no
From Dual
Connect By Level <=
Length('2,3,4,5') - Length(Replace('2,3,4,5', ',')) + 1)
create or replace package pk_sum
begin
function containSum(param varchar2) return number;
end;
create or replace package body pk_sum
begin
function containSum(param varchar2) return number
is
rval number;
begin
select sum(type) into rval from ATT_PD_EQU t
where instr(param, t.TYPE) <> 0
return rval;
end;
end;