oracle 包里使用函数,里使用decode,substr
1、oracle包里使用decode的方法和使用substr的方法不一样,所以使用decode的时候总是报错
例如使用substr时
FUNCTION remove_str(p_in_string varchar2) return varchar2 is varchar_out varchar2(4000);
begin
varchar_out := substr(p_in_string, instr(p_in_string, '.', -1) + 1);
return varchar_out;
end remove_str;
使用decode时
FUNCTION remove_A_(p_in_varchar varchar2) return varchar2 is p_out_varchar varchar2(4000);
begin
select decode(substr(p_in_varchar, 1, 2),
'S_',
substr(p_in_varchar, 3),
p_in_varchar)
into p_out_varchar
from dual;
return p_out_varchar;
end remove_A_;
decode 只能用于sql里
还没有评论,来说两句吧...