今天开发一个功能,需要计算两个日期之间的小时数,所以写了一个sql,如下:

select ceil((to_date('2020-07-25 18:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS')) * 24) as minutesfrom dual运行结果:24select ceil((to_date('2020-07-25 19:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS')) * 24) as minutesfrom dual运行结果:26

2020-07-25 18:00:00 - 2020-07-24 18:00:00  为24个小时是正确的,但是加了一个小时候发现减出来的时差变成了26个小时,比实际多出1个小时,然后我百度了ceil函数,解释如下:

ceil() 函数向上舍入为最接近的整数

我在运行ceil中的sql:

select (to_date('2020-07-25 19:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS')) * 24  as minutesfrom dual运行结果:25select to_date('2020-07-25 19:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS') as minutesfrom dual运行结果:1.04166666666667select ceil(25) from dual运行结果:25

当我直接用所得天数 * 24时运行结果为25,我又单独执行了ceil(25),运行结果也是25,所以我有个疑惑不清楚为什么会变成了26,有清楚的大神可以帮我解下惑,万分感谢!!!

最后我用round函数+to_number()实现了我想要的结果:

select round(to_number((to_date('2020-07-25 18:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS')) * 24)) as minutesfrom dual运行结果:24select round(to_number((to_date('2020-07-25 19:00:00', 'YYYY-MM-DD HH24-MI-SS') -to_date('2020-07-24 18:00:00', 'YYYY-MM-DD HH24-MI-SS')) * 24)) as minutesfrom dual运行结果:25

round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。除数值外,也可对日期进行舍入运算

round函数的使用用法

round函数就是返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果 [1]  。
  round函数的语法是:ROUND(number,num_digits),即:Round(数值,保留的小数位数)
  Number:需要进行四舍五入的数字。
  Num_digits:指定的位数,按此位数进行四舍五入。
  其中,如果 num_digits 大于 0,则四舍五入到指定的小数位。
  如果 num_digits 等于 0,则四舍五入到最接近的整数。
  如果 num_digits 小于 0,则在小数点左侧进行四舍五入。
  =ROUND(3.19, 1) 将 3.19 四舍五入到一个小数位 (3.2)
  =ROUND(2.649, 1) 将 2.649 四舍五入到一个小数位 (2.6)
  =ROUND(-5.574, 2) 将 -5.574 四舍五入到两小数位 (-5.57)
  =ROUND(18.8, -1) 将 18.8 四舍五入到小数点左侧一位 (20)。这个参数-1表示取整到十位数。

ceil函数和round函数的用法相关推荐

  1. excel函数实战(CEILING函数,ROUND函数,FLOOR函数的语法)

    CEILING函数:CEILING函数用于将数字向上取整,即向远离零的方向取整. 语法:CEILING(number, significance) 其中,number是要向上取整的数,signific ...

  2. python学习笔记——floor函数与ceil函数、round函数、reduce函数

    floor函数用于向下取整,需要导入math模块才能使用. ceil函数用于向上取整,同样需要通过math模块才能使用. round函数用于保留指定位数,有类似功能的有三种函数格式化输出方法 用法ro ...

  3. 详解floor函数、ceil函数和round函数

    1.floor函数 功能:把一个小数向下取整 即就是如果数是2.2 ,那向下取整的结果就为2.000000 原型:double floor(doube x); 参数解释: x:是需要计算的数 返回值: ...

  4. 关于floor函数与ceil函数与round函数

    一: floor(x),也写做Floor(x),其功能是"向下取整",或者说"向下舍入",即取不大于x的最大整数(与"四舍五入"不同,下取整 ...

  5. hive小数取整函数(floor函数,ceil函数,round函数)

    1. floor()函数 向下取整 select floor(1.4) # 结果是:1 2. ceil()函数 向上取整 select ceil(1.4) #结果是:2 3. round()函数 四舍 ...

  6. floor函数 和 ceil函数、fix函数、round函数

    头文件 #include<mah.h> floor函数 1.函数原型: 1 double floor ( double x ); 2 float floor ( float x ); 3 ...

  7. C语言(C++)中:详解floor函数、ceil函数和round函数

    C语言中 1.floor函数 功能:把一个小数向下取整即就是如果数是2.2 ,那向下取整的结果就为2.000000 原型:double floor(doube x);参数解释:x:是需要计算的数 返回 ...

  8. C语言中:详解floor函数、ceil函数和round函数

    C语言中 1.floor函数 功能:把一个小数向下取整即就是如果数是2.2 ,那向下取整的结果就为2.000000 原型:double floor(doube x);参数解释:x:是需要计算的数 返回 ...

  9. python round函数_Python round() 函数

    这个一直都想写,但是因为这个点比较小,所以一直懒得动手.不过还是补上吧,留着早晚是个祸害. round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10. ...

最新文章

  1. oracle 11查询sid,oracle 11g 更改sid和dbname
  2. 正则表达式与html信息提取,基于正则表达式的HTML信息提取.pdf
  3. 单片微型计算机与接口技术第5版重点,韶关学院《单片微型计算机与接口技术》(第5版)思考题与习题解答.pdf...
  4. Maven-打包的时候丢失非.java的文件
  5. 前台 时不时报 could not proxy request_长春中考成绩不理想可以报的高中
  6. python123反素数_初学python之路-day01
  7. origin 图片导出word
  8. C51单片机-蓝牙遥控小车
  9. 正常邮件被误判为垃圾邮件
  10. RMAN-06004 RMAN-20003
  11. java 各种编码间转换
  12. vue 动态绑定 class
  13. 计算机无法识别ipad2,iTunes无法识别iPad mini怎么办【解决方法】
  14. 数字图像处理学习笔记(三)——空间分辨率和灰度分辨率、等偏爱曲线
  15. 118 以太坊 ethereum hardhat :编译 artifacts
  16. simplify-js 降低曲线拟合使用的点数
  17. 游戏开发校招面试全记录(大三篇)
  18. 中国软件与IT外包产业以印度为镜
  19. beamer中block样式修改
  20. BP神经网络在期货价格预测中的应用

热门文章

  1. Docker系列:梦开始的地方(1)——Windows10环境下的Docker安装、更改镜像源和更改默认镜像容器存储地址
  2. 【回溯】leetcode1219.黄金矿工
  3. Android Studio中使用Git——结合GitLab,Android热修复原理
  4. CSDN日报190923:盘点那些被AI换脸、一键“脱”衣所滥用的AI模型
  5. 使用安装 .NET 脚本或提取二进制文件在 Linux 上安装
  6. 函数中arguments是什么?
  7. 字节跳动All in教育的战略决心与长期主义
  8. java 项目打包jar 的配置(springboot )
  9. 交错校验法 / interleaving
  10. 《GrowingIO指标体系与数据采集》读书笔记