Oracle中日期和时间字段的日常使用
本文目的是记录日常开发中用到的知识点,不涉及具体业务,只关注技术,方便自己和后来者。
目前正在做一个工厂项目,说到工厂项目肯定会有关于产线和人员的排班时长计算,一般一条排班信息包括开始时间、结束时间以及人员或产线的标识。那么常见需求比如统计某个月份产线或者人员的工作时长、计算设备开动率、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中日期和时间字段的日常使用相关推荐
- oracle中用于返回日期和时间,oracle中日期和时间函数的使用
日期和时间函数的使用 1, SYSDATE:此函数用于返回系统当前日期 2, ADD_MONTHS(日期,n):返回指定日期之前或之后的n个月所对应的日期(n为 ...
- oracle 字段是合法日期,Oracle中日期字段的处理
Oracle中日期字段的处理,Test表中有start_date字段,如何取得start_date的年份呢.例如start_date为2014-04-21.取得的年份应 Oracle中日期字段的处理 ...
- 计算SharePoint两个日期和时间字段之间的时间差值
计算SharePoint两个日期和时间字段之间的时间差值 在SharePoint中,有一个"日期和时间(Date and Time)"类型的字段,使用此字段不仅可以只存储日期值,还 ...
- mysql查询今日没有时间字段_关于日期及时间字段的查询
前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询.关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法. 1.日期和时间类型 ...
- oracle中日期自动补全,没有数据自动补0
oracle中日期自动补全,没有数据自动补0 1. 描述 最近在项目中遇到一个问题,在进行oracle相关查询操作的时候,查询某个月的数据,这个月中某些日期没有数据,就造成了日期的缺失,我想做的就是不 ...
- java oracle 图片_JAVA读取Oracle中的blob图片字段并显示
JAVA读取Oracle中的blob图片字段并显示 近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库 ...
- mysql 函数用还是不用_Mysql中日期和时间函数应用不用求人
Mysql中日期和时间函数应用不用求人 2008-05-23 17:41· 稿源:互联网 TIME_FORMAT(time,format) 这象上面的DATE_FORMAT()函数一样使用,但是for ...
- python输出时间格式_python中日期和时间格式化输出的方法小结_python
这篇文章主要介绍了python中日期和时间格式化输出的方法,实例总结了Python常见的日期与事件操作技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了python中日期和时间格式化输出的方 ...
- python中日期和时间格式化输出的方法
1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strp ...
最新文章
- 独家 | CIKM AnalytiCup 2017冠军团队获胜经验分享(附PPT视频)
- 康奈尔ECE MEng项目拒信+1 哈哈哈
- Linux 常见命令之Find \; +结合其它命令使用案例详解
- Angular http client发起的请求在Chrome开发者工具network标签页里观察到的界面
- 建模分析师与算法工程师的主要区别
- virtualbox手动挂载共享文件夹
- JSF,Servlet和JSP有什么区别?
- hdu5358 ( First One )数学+思维
- 对Android蓝牙UUID的理解
- 吴恩达深度学习笔记 第二章作业1
- python计算iv值_python计算IV值
- EXCEL:NUMBERVALUE函数的用法
- 用matlab绘制动态心形图
- CSS 左中右三列布局5种方式
- 【方法】Chrome如何下载视频
- 开篇 :直播软件分析.
- 软件架构设计原则-里氏替换原则
- 如何从bitbucket到github的所有分支移动git存储库?
- [HNOI2012]永无乡
- 微服务商城系统(四)商品管理
热门文章
- ASP+XML+JavaScript实现动态无限级联动菜单
- 【Vue】五个最常用的事件修饰符
- 数字滤波器(六)--设计FIR滤波器
- 入门机器学习(二)--多变量线性回归
- 计算机编码简介(ASCII、ANSI、EBCDIC、Unicode)
- 7-1 一元多项式求导 (10 分)
- 7-3 方格取数 (15 分)
- imagereader java_java中ImageReader和BufferedImage获取图片尺寸实例
- 2015中缀表达式转化为后缀表达式(C++,附思路,注释多)
- 下载、安装Keil 5