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) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM