select 3+5*8*(7+8*6) from dual;
如果还有困惑,就来www.kunhuo.com

解决方案 »

  1.   

    oracle的pl/sql是支持+ - * / 运算的。你可以用变量参加运算,也可以用数字参加运算。
      

  2.   

    问 dajian2000(我学Oracle我爱C++) ,运算思路如何
      

  3.   

    最简单的方法是在过程中用动态sql处理
    declare
      v_sql  varchar2(100);
      v_val  number(10);
    begin
      v_sql := 'SELECT 3+5*8*(7+8*6) INTO :a from dual';
      execute immediate v_sql using v_val;
      dbms_output.put_line(v_val);
    end;
    /
      

  4.   

    修改三千兄:
    SQL> declare
      2    v_num varchar2(20):='3+5*8*(7+8*6)';
      3    v_sql  varchar2(100);
      4    v_val  number(10);
      5  begin
      6    v_sql := 'SELECT '||v_num||' from dual';
      7    execute immediate v_sql into v_val;
      8    dbms_output.put_line(v_val);
      9  end;
     10  /
    2203PL/SQL procedure successfully completed