17,089
社区成员
发帖
与我相关
我的任务
分享
-- 当出错的时候,就返回空值!
create or replace function cac_val(v_str varchar2)
return number
is
v_res number(38,4);
begin
execute immediate 'select '||v_str||' from dual' into v_res;
return v_res;
exception when others then
return null;
end;
/
select cac_val('2*10+3') from dual;
ceygle@SZTYORA> create or replace function cac_val(v_str varchar2)
2 return number
3 is
4 v_res number(38,4);
5 begin
6 execute immediate 'select '||v_str||' from dual' into v_res;
7 return v_res;
8 exception when others then
9 return 0;
10 end;
11 /
函数已创建。
eygle@SZTYORA> select cac_val('2*10+3') from dual;
CAC_VAL('2*10+3')
-----------------
23