当前位置: 代码迷 >> 综合 >> ORACLE的保留小数或整数函数
  详细解决方案

ORACLE的保留小数或整数函数

热度:27   发布时间:2023-10-18 00:06:23.0

oracle的函数主要有这几种

1、ceil(n)取整(大),取比真值大的最小整数,注意正负数的取值:

      如ceil(251.0001)=252,ceil(-251.0001)=-251,ceil(-251.9999)=-251;

      select ceil(251.0000001) from dual;

      结果:252

2、floor(n)取整(小),取比真值小的最大整数,注意正负数的取值:

      如floor(251.9999)=251,floor(-251.9999)=-252,floor(-251.0001)=-252

3、trunc(n,p)取指定位置部分(截取),p指定截取数值的位置,p为0时表示截取整数部分,可以或略:

      如trunc(251.0001)=251,trunc(-251.0001)=-251,trunc(-251.9999)=-251;

      当p为正数时,表示截取时保留小数的位数;当p为负数时,表示截取时保留整数的位置,例如:

      trunc(251.1234,2)=251.12,trunc(251.1234,-2)=200,trunc(251.1234,-1)=250;

4、round(n,p)取指定位置部分(四舍五入),同trunc类似,p指定截取数值的位置,p为0时表示截取整数部分,可以或略:

      round(251.34)=251,round(251.56)=252,round(-251.34)=-251,round(-251.56)=-252;


      当p为正数时,表示截取时保留小数的位数;当p为负数时,表示截取时保留整数的位置,例如:

      round(251.1234,2)=251.12,round(251.1234,-2)=300,round(251.1234,-1)=250;

      四舍五入时只考虑绝对值,不用关心正还是负。

5、最后顺便说一下取余函数mod(n,m),n除以m后的余数,例如:mod(91,30)=1
一般n,m是整数,不过,小数也可以,例如:
select mod(90.32,26.3) from dual;
结果是:11.42

  相关解决方案