up。

解决方案 »

  1.   

    varchar -> integerSQL>select to_number('123') + 2 from dual;
    TO_NUMBER('123')+2
    ------------------
                   125
    integer -> varchar
    SQL> select to_char(123) || 'test' from dual;TO_CHAR(123)||'TEST'
    --------------------
    123test
      

  2.   

    其实有些时候不用转也行,oracle会根据运算符来判断,不过并不推荐这种用法,有一定的隐患 
    还是麻烦点,使用to_number和to_char好些PLUS80> select '123'+2 from dual;   '123'+2
    ----------
           125实际:16
    PLUS80> select 123||'retrtrt' from dual;123||'RETR
    ----------
    123retrtrt实际:16
      

  3.   

    不用强制转换,oracle是弱类型数据类型,它会自动隐式转换
      

  4.   

    建议最好使用两个函数:to_number and to_char
      

  5.   

    还是建议用函数,一般存储过程里dbms_output.put_line('共合并成拣货单:'||ai_sortnum);也能行,oracle8i