Oracle 取整、四舍五入及格式化 Round/Floor/Ceil

原文地址:http://kb.cnblogs.com/a/1552790/

  1. SELECT ROUND( number, [ decimal_places ] ) FROM DUAL  

说明:

number : 将要处理的数值

decimal_places : 四舍五入,小数取几位,不填默认为0

Sample :

  1. select round(123.456) from dual;              结果: 123   
  2. select round(123.456, 0) from dual;          结果: 123   
  3. select round(123.456, 1) from dual;          结果: 123.5   
  4. select round(123.456, 2) from dual;          结果:123.46   
  5. select round(123.456, 3) from dual;          结果: 123.456   
  6. select round(-123.456, 2) from dual;         结果:-123.46  

取整(向下取整):

  1. select floor(5.534) from dual;   
  2. select trunc(5.534) from dual;  

上面两种用法都可以对数字5.534向下取整,结果为5.
如果要向上取整 ,得到结果为6,则应该用ceil

  1. select ceil(5.534) from dual;  

保留N位小数(不四舍五入):

  1. select trunc(5.534,0) from dual;   
  2. select trunc(5.534,1) from dual;   
  3. select trunc(5.534,2) from dual;  

结果分别是 5,5.5,5.53,其中保留0位小数就相当于直接取整了。

数字格式化:

  1. select to_char(12345.123,'99999999.9999') from dual;  

结果为12345.123

  1. select to_char(12345.123,'99999999.9900') from dual;  

小数后第三第四为不足补0,结果为12345.1230

  1. select to_char(0.123,'99999999.9900') from dual;   
  2. select to_char(0.123,'99999990.9900') from dual;  

结果分别为 .123, 0.123

<!-- end: entry -->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值