搜索
您的当前位置:首页正文

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

2023-11-08 来源:哗拓教育

  •    
  • 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

    标签:

    小编还为您整理了以下内容,可能对您也有帮助:

    oracle如何显示小数点前面的0

    小数点前面的0不显示可能是因为你的字段不是数值型的。
    select to_number(column_name) from table_name;

    oracle如何显示小数点前面的0

    小数点前面的0不显示可能是因为你的字段不是数值型的。
    select to_number(column_name) from table_name;

    存储过程中为什么会丢失小数点前面的0

    oracle数据库中,小数如果小于1,那么查询出来后前面的0是不显示的。所以不过是sql直接取出还是存储过程中取出,显示到页面时,都缺少小数点前的0.
    解决办法:
    通过decode函数
    如select decode(substr(percent,1,1),'.','0'||percent,percent) percent
    from point;

    存储过程中为什么会丢失小数点前面的0

    oracle数据库中,小数如果小于1,那么查询出来后前面的0是不显示的。所以不过是sql直接取出还是存储过程中取出,显示到页面时,都缺少小数点前的0.
    解决办法:
    通过decode函数
    如select decode(substr(percent,1,1),'.','0'||percent,percent) percent
    from point;

    oracle FM去掉了小数点后的0,怎么去掉小数点?

    您可以使用 `FM99990.0` 来格式化转换,这样可以将小数点后面的 0 去掉,同时可以保留一位小数。具体地:

    ```

    to_char(ts, 'FM99990.0') || '天'

    ```

    例如,如果 `ts` 的值是 1.0,则上述语句返回的结果是 `'1天'`;如果 `ts` 的值是 0.5,则返回的结果是 `'0.5天'`。追问这个语句返回的是1.0天

    oracle存储过程计算值小于零的值,小数点前零不显示。比如0.4 显示就是.4

    to_char(0.4,'9.9')

    to_char(数字,'格式')

    Top