oracle小数点位数怎么设置

解决方案 »

  1.   

    TRUNC(89.985,2)
    结果是89.98 要是四舍五入的话这样就不行了。
      

  2.   

    返回大于或等于x的最大整数:   
            SQL>         select         ceil(23.33)         from         dual;   
        
            CEIL(23.33)   
            -----------   
                              24   
        
            返回等于或小于x的最大整数:   
            SQL>         select         floor(23.33)         from         dual;   
        
            FLOOR(23.33)   
            ------------   
                                23   
        
            返回舍入到小数点右边y位的x值:rcund(x,[y])   
            SQL>         select         round(23.33)         from         dual;   
        
            ROUND(23.33)   
            ------------   
                                23   
        
            返回截尾到y位小数的x值:trunc(x,[y])   
            SQL>         select         trunc(23.33)         from         dual;   
        
            TRUNC(23.33)   
            ------------   
      
                              23   
      

  3.   

    set numf   9999.99   --两位小数
    set numf   9999.999  --三位小数依此类推
    SQL> show numf
    numformat "9999.99"
    SQL> select 1.12345 from dual; 1.12345                                                                        
    --------                                                                        
        1.12                                                                        SQL> set numf 999.99999
    SQL> l
      1* select 1.12345 from dual
    SQL> /   1.12345                                                                      
    ----------                                                                      
       1.12345                                                                      SQL> spool off