用oracle sql對數字進行操作: 取上取整、向下取整、保留N位小數、四捨五入、數字格式化
取整(向下取整):
select floor(5.534) from dual;
select trunc(5.534) from dual;
上面兩種用法都可以對數字5.534向下取整,結果爲5.
如果要向上取整 ,得到結果爲6,則應該用ceil
select ceil(5.534) from dual;
四捨五入:
SELECT round(5.534) FROM dual;
SELECT round(5.534,0) FROM dual;
SELECT round(5.534,1) FROM dual;
SELECT round(5.534,2) FROM dual;
結果分別爲 6, 6, 5.5, 5.53
保留N位小數(不四捨五入):
select trunc(5.534,0) from dual;
select trunc(5.534,1) from dual;
select trunc(5.534,2) from dual;
結果分別是 5,5.5,5.53,其中保留0位小數就相當於直接取整了。
數字格式化:
select to_char(12345.123,'99999999.9999') from dual;
結果爲12345.123
select to_char(12345.123,'99999999.9900') from dual;
小數後第三第四爲不足補0,結果爲12345.1230
select to_char(0.123,'99999999.9900') from dual;
select to_char(0.123,'99999990.9900') from dual;
結果分別爲 .123, 0.123
取百分數
select 100*round(
COUNT
(*)/
SUM
(
COUNT
(*)) OVER(),4)||
'%'
percent
FROM
表名