oracle中除數結果缺少0的問題

select DECODE(TRUNC(round(decode(1, 0, 0, 1 / 1000 * 100), 1)),
              0,
              REPLACE(round(decode(1, 0, 0, 1 / 1000 * 100), 1),
                      '.',
                      '0.'),
              TO_CHAR(round(decode(1, 0, 0, 1 / 1000 * 100), 1))) || '%' from dual

第一:用TRUNC獲取小數點前面的數值。

第二:用decode函數做if或者else操作。

第三:如果遇到只是小數點的則替換成“0.”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章