本文目的是记录日常开发中用到的知识点,不涉及具体业务,只关注技术,方便自己和后来者。

目前正在做一个工厂项目,说到工厂项目肯定会有关于产线和人员的排班时长计算,一般一条排班信息包括开始时间、结束时间以及人员或产线的标识。那么常见需求比如统计某个月份产线或者人员的工作时长、计算设备开动率、OEE等。以上需求都涉及到计算每次排班时长(结束时间-开始时间)的操作,这个时长计算在数据库端或者服务器端都可以进行,本文重点介绍下通过oracle相关函数来计算时长,老规矩,先贴表结构和数据样例,大家自行查看:

下面先看一条简单的数据如下图,通过表结构可以知道MA06产线的开始时间:2020-10-12 08:00:00,结束时间:2020-10-12 19:00:00,时长:11小时

接下来我们开始通过sql计算时长,首先执行如下sql,sql和结果如下图所示:

-- 用结束字段 - 开始字段 , planid只起到筛选数据用,无视
select endtime - starttime from mes_shiftproject where planid = '5475604'

时长为0.458333...,可能有些人对这个值有些困惑,不应该是11吗?其实如果你拿0.458333... * 24 就会得出11,所以我们可以得出以下结论:oracle中对date类型的字段进行相减时,得到的结果为相减双方字段相差天数。我们可以在获取到相差天数后灵活计算,比如如果需要小时时长 = 相差天数 * 24,分钟时长 = 相差天数 * 24 * 60。获取到时长之后,就可以结合各种聚合、分组等函数进行业务统计,在此就不展开了,下面在这个知识点基础上进行下扩展:

扩展1:以上对日期字段加减数字的操作,相对来说比较适用于比如给当前date类型字段增加日、时、分、秒等操作,如下图所示:

扩展2:如果是计算date类型字段的月份或年度操作,推荐使用add_months,日常使用样例如下:

扩展3:同样可以使用INTERVAL函数或关键字,进行一段时间前/后时间点的计算,样例demo如下:

以上,完了!!

Oracle中日期和时间字段的日常使用相关推荐

  1. oracle中用于返回日期和时间,oracle中日期和时间函数的使用

    日期和时间函数的使用 1,           SYSDATE:此函数用于返回系统当前日期 2,           ADD_MONTHS(日期,n):返回指定日期之前或之后的n个月所对应的日期(n为 ...

  2. oracle 字段是合法日期,Oracle中日期字段的处理

    Oracle中日期字段的处理,Test表中有start_date字段,如何取得start_date的年份呢.例如start_date为2014-04-21.取得的年份应 Oracle中日期字段的处理 ...

  3. 计算SharePoint两个日期和时间字段之间的时间差值

    计算SharePoint两个日期和时间字段之间的时间差值 在SharePoint中,有一个"日期和时间(Date and Time)"类型的字段,使用此字段不仅可以只存储日期值,还 ...

  4. mysql查询今日没有时间字段_关于日期及时间字段的查询

    前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询.关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法. 1.日期和时间类型 ...

  5. oracle中日期自动补全,没有数据自动补0

    oracle中日期自动补全,没有数据自动补0 1. 描述 最近在项目中遇到一个问题,在进行oracle相关查询操作的时候,查询某个月的数据,这个月中某些日期没有数据,就造成了日期的缺失,我想做的就是不 ...

  6. java oracle 图片_JAVA读取Oracle中的blob图片字段并显示

    JAVA读取Oracle中的blob图片字段并显示 近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库 ...

  7. mysql 函数用还是不用_Mysql中日期和时间函数应用不用求人

    Mysql中日期和时间函数应用不用求人 2008-05-23 17:41· 稿源:互联网 TIME_FORMAT(time,format) 这象上面的DATE_FORMAT()函数一样使用,但是for ...

  8. python输出时间格式_python中日期和时间格式化输出的方法小结_python

    这篇文章主要介绍了python中日期和时间格式化输出的方法,实例总结了Python常见的日期与事件操作技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了python中日期和时间格式化输出的方 ...

  9. python中日期和时间格式化输出的方法

    1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strp ...

最新文章

  1. 独家 | CIKM AnalytiCup 2017冠军团队获胜经验分享(附PPT视频)
  2. 康奈尔ECE MEng项目拒信+1 哈哈哈
  3. Linux 常见命令之Find \; +结合其它命令使用案例详解
  4. Angular http client发起的请求在Chrome开发者工具network标签页里观察到的界面
  5. 建模分析师与算法工程师的主要区别
  6. virtualbox手动挂载共享文件夹
  7. JSF,Servlet和JSP有什么区别?
  8. hdu5358 ( First One )数学+思维
  9. 对Android蓝牙UUID的理解
  10. 吴恩达深度学习笔记 第二章作业1
  11. python计算iv值_python计算IV值
  12. EXCEL:NUMBERVALUE函数的用法
  13. 用matlab绘制动态心形图
  14. CSS 左中右三列布局5种方式
  15. 【方法】Chrome如何下载视频
  16. 开篇 :直播软件分析.
  17. 软件架构设计原则-里氏替换原则
  18. 如何从bitbucket到github的所有分支移动git存储库?
  19. [HNOI2012]永无乡
  20. 微服务商城系统(四)商品管理

热门文章

  1. ASP+XML+JavaScript实现动态无限级联动菜单
  2. 【Vue】五个最常用的事件修饰符
  3. 数字滤波器(六)--设计FIR滤波器
  4. 入门机器学习(二)--多变量线性回归
  5. 计算机编码简介(ASCII、ANSI、EBCDIC、Unicode)
  6. 7-1 一元多项式求导 (10 分)
  7. 7-3 方格取数 (15 分)
  8. imagereader java_java中ImageReader和BufferedImage获取图片尺寸实例
  9. 2015中缀表达式转化为后缀表达式(C++,附思路,注释多)
  10. 下载、安装Keil 5