文章目录
1 概述
直接截取
四舍五入
格式化函数
保留 2 位小数 trunc(num, m) m 默认 0 round(num, m) m 默认 0 to_char(num, ‘FM99990.99’) 9=占位符,表示1 到 9, 0=0
2 示例
with t_test as (
select 12.123 d from dual union all
select 12.125 d from dual
)
select t.d 原数据,
trunc(t.d) 截取,
trunc(t.d, 2) 截取保留2位小数,
round(t.d) 取整, -- 四舍五入
round(t.d, 2) 取整保留2位小数, -- 四舍五入
to_char(t.d, 'FM90.99') 格式化保留2位小数
from t_test t;
测试结果:
原数据 截取 截取保留2位小数 取整 取整保留2位小数 格式化保留2位小数
'12.123' 12 12.12 12 '12.12' '12.12'
'12.125' 12 12.12 12 '12.13' '12.13'
to_char(num, ‘FM999999990.99’) 测试结果
-- 9+0 的个数 = 数值的位数。
-- 超过则不显示。 小于则显示 ###
select to_char(0.123, 'FM99.99') "占位符 9", -- .12
to_char(0.123, 'FM90.99') "占位符 0", -- 0.12
to_char(11.22, 'FM990.99') 超过数值位数, -- 11.22
to_char(11.22, 'FM0.99') 小于数值位数 -- #####
from dual;