当前位置:Gxlcms > 数据库问题 > oracle查询不显示小数点前的0

oracle查询不显示小数点前的0

时间:2021-07-01 10:21:17 帮助过:8人阅读

  •    
  • TO_CHAR(NUM,‘999999999.9999999  
  • ------------------------------  
  •           .421240000  
  •           .421246543  
  •      65432.421243240  
  •          4.621240000  
  •    
  • SQL> select to_char(num) from ml_test;  
  •    
  • TO_CHAR(NUM)  
  • ----------------------------------------  
  • .42124  
  • .4212465434  
  • 65432.42124324  
  • 4.62124  
  •    
  • SQL> select to_char(0.99) from dual;  
  •    
  • TO_CHAR(0.99)  
  • -------------  
  • .99  
  •    

  • --4.怎么解决,解决方案如下

    (1)

    [sql] view plaincopy  
    1. SQL>  select to_nmber(to_char(0.99)) from dual;  
    2.    
    3. TO_NUMBER(TO_CHAR(0.99))  
    4. ------------------------  
    5.                     0.99  
    6.    
    7. SQL>  select to_char(num,‘fm999999990.999999999‘) from ml_test;  
    8.    
    9. TO_CHAR(NUM,‘FM999999990.99999  
    10. ------------------------------  
    11. 0.42124  
    12. 0.421246543  
    13. 65432.42124324  
    14. 4.62124  

     

    (2)使用case when 或 decode函数,取第一位是否为".", 补0 ,就ok了

     

     

    [sql] view plaincopy  
      1. SQL> select to_char(num,‘999999999.999999999‘) from ml_test;  
      2.    
      3. TO_CHAR(NUM,‘999999999.9999999  
      4. ------------------------------  
      5.           .421240000  
      6.           .421246543  
      7.      65432.421243240  
      8.          4.621240000  
      9.    
      10. SQL> select to_char(num) from ml_test;  
      11.    
      12. TO_CHAR(NUM)  
      13. ----------------------------------------  
      14. .42124  
      15. .4212465434  
      16. 65432.42124324  
      17. 4.62124  
      18.    
      19. SQL> select to_char(0.99) from dual;  
      20.    
      21. TO_CHAR(0.99)  
      22. -------------  
      23. .99  
      24.    

    oracle查询不显示小数点前的0

    标签:

    人气教程排行