Oracle 保留两位小数详解

文章目录

  • 1 概述
  • 2 示例

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;

你可能感兴趣的:(Oracle,Oracle,保留两位小数)