Oracle取整函数用法案例

 更新时间:2023年06月27日 09:37:40   作者:Jothan Zhong  
四舍五入是我们最早接触的数学概念之一,我们日常开发系统中,数字取整也是我们最常接触的一种需求样式,下面这篇文章主要给大家介绍了关于Oracle取整函数用法的相关资料,需要的朋友可以参考下

oracle涉及到取整的函数主要有4个,两个单参数的(ceil和floor),两个双参数的(trunc和round)。双参数不仅可以取整,也可以取到任一位小数,甚至可以取到任一位整数。这些函数参数为正数时比较好理解,为负数时就要好好想一想了,不要用错了,好在用于负数的机会不多。

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;

这两个函数功能正好相反。

记忆恨简单:ceil,天花板,在上面,自然往高了取值;floor,地板,自然往低了取值。

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;
  四舍五入时只考虑绝对值,不用关心正还是负。

记忆方法:trunc,截取,相当于刀切到那儿是哪儿,不拖泥带水;round,圆,把后面的值圆回来,所以四舍五入。

下面是四个函数的取整案例:

select trunc(251.75),round(251.75),floor(251.000001),ceil(251.000001) from dual;

结果:251,252,251,252

select trunc(-251.75),round(-251.75),floor(-251.000001),ceil(-251.000001) from dual;

结果:-251,-252,-252,-251

5、最后顺便说一下取余函数mod(n,m),n除以m后的余数,例如:mod(91,30)=1

一般n,m是整数,不过,小数也可以,例如:

select mod(90.32,26.3) from dual;

结果是:11.42

总结

到此这篇关于Oracle取整函数用法的文章就介绍到这了,更多相关Oracle取整函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows下oracle 11g r2 安装过程与卸载详细图解

    windows下oracle 11g r2 安装过程与卸载详细图解

    这篇文章主要介绍了windows下oracle 11g r2 安装过程与卸载详细图解,需要的朋友可以参考下
    2016-04-04
  • Oracle 获得以百分号结尾的脚本有三种写法

    Oracle 获得以百分号结尾的脚本有三种写法

    本节主要介绍了Oracle 获得以百分号结尾的脚本有三种写法,以获得ID=4443的数据行为例
    2014-07-07
  • Windows10安装Oracle19c数据库详细记录(图文详解)

    Windows10安装Oracle19c数据库详细记录(图文详解)

    这篇文章主要介绍了Windows10安装Oracle19c数据库详细记录,文中给大家介绍了修改密码的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Oracle递归查询connect by用法

    Oracle递归查询connect by用法

    本文详细讲解了Oracle递归查询connect by的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Oracle查看表操作历史记录并恢复数据的方法

    Oracle查看表操作历史记录并恢复数据的方法

    Oracle是一种广泛应用于企业级数据库系统的软件,但在操作过程中可能会发生误删除数据的情况,这时就需要进行数据恢复操作,这篇文章主要给大家介绍了关于Oracle查看表操作历史记录并恢复数据的相关资料,需要的朋友可以参考下
    2023-08-08
  • Oracle GoldenGate同步服务归档空间维护【推荐】

    Oracle GoldenGate同步服务归档空间维护【推荐】

    这篇文章主要介绍了Oracle GoldenGate同步服务归档空间维护的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • oracle中如何保留两位小数

    oracle中如何保留两位小数

    这篇文章主要介绍了oracle中如何保留两位小数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • PLSQL一些常用知识点梳理总结

    PLSQL一些常用知识点梳理总结

    这篇文章主要为大家介绍了PLSQL一些常用的知识点梳理总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Oracle数据库产重启服务和监听程序命令介绍

    Oracle数据库产重启服务和监听程序命令介绍

    大家好,本篇文章主要讲的是Oracle数据库产重启服务和监听程序命令介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Oracle解决ORA-01034: ORACLE not available问题的办法

    Oracle解决ORA-01034: ORACLE not available问题的办法

    这篇文章主要给大家介绍了关于Oracle解决ORA-01034: ORACLE not available问题的办法,今天连接oracle出现如下错误,在网查了相关资料说出现ora-01034错误的原因是因为数据库的控制文件没有加在startup mount后,需要的朋友可以参考下
    2024-02-02

最新评论