Oracle中实现javascript中的Eval函数计算效果

来源:互联网 发布:淘宝卖家运营 编辑:程序博客网 时间:2024/05/16 08:02
select   EvalCalculate(    'case       when 1=1 then 1000*0.1-2+15/2    when 1=2 then 2000      when 1=3 then 3000    when 1=4 then 4000    else 4000-200*0.2  end ' )  from dual--自定义函数CREATE OR REPLACE FUNCTION EvalCalculate(str in VARCHAR2) RETURN VARCHAR2As  numval number;begin  execute immediate 'select '||str||' from dual' into numval;  return numval;end;