zoukankan      html  css  js  c++  java
  • oracle小数点前零丢失的问题

    1.问题起源  
          oracle  数据库 字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0  
          例如0.2就变成了.2 
    2.解决办法:
    (1)用to_char函数格式化数字显示  
          select     to_char(0.338,'fm9999999990.00') from dual;  
         结果:0.34  
         这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格,不加fm,0.34前面会有空格的. 
    (2)使用decode函数 
        既然小于1的小数首位必然是'.',那就判断首位是否为'.',是则在前面加上'0'即可 
    SQL> select decode(substr(num,1,1),'.','0'||num,num) from t1_number 
    DECODE(SUBSTR(NUM,1,1),'.','0'||NUM,NUM) 
  • 相关阅读:
    网络之传输层
    局域网的物理组成
    网络基础
    RAID磁盘阵列
    mount挂载和交换分区swap
    Linux文件系统
    sed命令基础2
    sed命令基础
    LVM基础
    磁盘配额基础
  • 原文地址:https://www.cnblogs.com/hfliyi/p/4668570.html
Copyright © 2011-2022 走看看