Oracle 保留两位小数详解

文章目录

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;
    原文作者:鱼丸丶粗面
    原文地址: https://blog.csdn.net/qq_34745941/article/details/121968086
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞