Oracle處理保留小數點


一、trunc截取數字,小數位舍去,整數位取0,不進行四舍五入

TRUNC(n1, n2) n1要處理的數字,n2保留的位數(默認是舍棄所有小數位)

SELECT TRUNC(123.45) FROM DUAL;  # 123
SELECT TRUNC(123.45, 0) FROM DUAL;  # 123
SELECT TRUNC(123.45, 1) FROM DUAL;  # 123.4
SELECT TRUNC(123.45, 2) FROM DUAL;  # 123.45
  • 結果

二、to_char格式化小數,把數字轉變為字符串,進行四舍五入

SELECT TO_CHAR(123.45) FROM DUAL;  # 123.45
SELECT TO_CHAR(123.45, '999') FROM DUAL;  # 123
SELECT TO_CHAR(123.45, '999.9') FROM DUAL;  # 123.5
SELECT TO_CHAR(123.45, '999.99') FROM DUAL;  # 123.45
  • 結果

三、round對數字進行四舍五入,默認是舍入小數位

SELECT ROUND(123.45) FROM DUAL;  # 123
SELECT ROUND(123.45, 0) FROM DUAL;  # 123
SELECT ROUND(123.45, 1) FROM DUAL;  # 123.5
SELECT ROUND(123.45, 2) FROM DUAL;  # 123.45

  • 結果

四、cast轉為指定位數的number,注意number的第一個參數是轉換之后整數加小數的總位數

SELECT CAST(123.45 AS NUMBER(3)) FROM DUAL;  # 123
SELECT CAST(123.45 AS NUMBER(4, 1)) FROM DUAL;  # 123.5
SELECT CAST(123.45 AS NUMBER(5, 2)) FROM DUAL;  # 123.45
  • 結果


免責聲明!

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



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