因特殊需要,我需要把在数据库中统计的结果格式化成number(15,2)格式,如100为100.00,一定要保持为number类型,不能为字符类型。我试了多次都没有成功,请高手赐教,给个思路或者给个例子,自己写函数也行。
我的做法是:select to_number(to_char(100,'99D99'),'99.99') from dual;
可是结果还是100,而不是希望的100.00???

解决方案 »

  1.   

    SQL> select to_char(100,'9999999.99') from dual;TO_CHAR(100
    -----------
         100.00SQL>
      

  2.   

    另外,字符型可以自动转换成number型。
      

  3.   

    如果是为了在sqlplus里面显示的话SQL> col a format '9999999.99'
    SQL> select 100 a from dual;          A
    -----------
         100.00SQL>
      

  4.   

    因为转化后的结果还需要参与运算,所以必须保持是number类型的,又因为我用到的一个工具软件的bug,一定要保持两位小数点才可以,是否可以做到???
      

  5.   

    用select to_char(要格式化的数据,''9999999.99') from table
      

  6.   

    哪修改字段类型,直接解决方法
    alter table tabname modfiy col_name number(12,2);
      

  7.   

    使用动态sql是否可以定义字段的类型?