有一个字符串公式比如  a='3*10+200'(不一定是这个公式,有可能‘100/10*3-1’ 等等)
我如何 计算出字符串里面的运算结果  number b = 230
谢谢各位了

解决方案 »

  1.   

    select dbms_aw.eval_number('3*10+200') from dual
      

  2.   

    SQL> set serveroutput on
    SQL> declare v_sql varchar2(500);
      2  result number;
      3  begin
      4  v_sql:='select 100*2+3 from dual';
      5  execute immediate v_sql into result;
      6  dbms_output.put_line('result='||result);
      7  end;
      8  /
    result=203PL/SQL 过程已成功完成。SQL> declare v_sql varchar2(500);
      2  result number;
      3  begin
      4  v_sql:='select 100/3+3 from dual';
      5  execute immediate v_sql into result;
      6  dbms_output.put_line('result='||result);
      7  end;
      8  /
    result=36.33333333333333333333333333333333333333