Oracle 计算时间格式平均值的sql 语句

 更新时间:2019年08月27日 16:03:12   作者:虎咆狼哮  
这篇文章主要介绍了Oracle 计算时间格式平均值的sql 语句,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

Oracle 计算时间格式平均值的sql 语句

select 
to_char((to_date('2019-07-01', 'yyyy-mm-dd') + numtodsinterval(avg(begin_time_second), 'second')),'hh24:mi:ss') avg_begin_time,
to_char((to_date('2019-07-01', 'yyyy-mm-dd') + numtodsinterval(avg(end_time_second), 'second')),'hh24:mi:ss') avg_end_time
--2019-07-01 00:00:00 + numtodsinterval(平均数,'秒')转换为日期格式,然后再转换为 时间字符格式
from 
(
  select 
  --把上班时间换算为秒
  to_char(a.actontime, 'hh24') * 3600 +
  to_char(a.actontime, 'mi') * 60 +
  to_char(a.actontime, 'ss') as begin_time_second,
  --把下班时间换算为秒 
  to_char(a.actofftime, 'hh24') * 3600 +
  to_char(a.actofftime, 'mi') * 60 + 
  to_char(a.actofftime, 'ss') as end_time_second
  from empworkdate a
)

知识点扩展:oracle中获取年月日时分秒

我写sql的时间为2016年10月10日下午15:18完事,这个时间下面要做对比:

--获取年
select to_char(sysdate,'yyyy') from dual--2016
select to_char(sysdate,'YYYY') from dual--2016
--获取月
select to_char(sysdate,'mm') from dual--10
select to_char(sysdate,'MM') from dual--10
--获取日
select to_char(sysdate,'dd') from dual--10
select to_char(sysdate,'DD') from dual--10
--获取时
select to_char(sysdate,'hh24') from dual--15
select to_char(sysdate,'hh') from dual--03
select to_char(sysdate,'HH') from dual--03
select to_char(sysdate,'HH24') from dual--15
--获取分钟
select to_char(sysdate,'MI') from dual--14
select to_char(sysdate,'mi') from dual--14
--获取秒
select to_char(sysdate,'ss') from dual--35
select to_char(sysdate,'SS') from dual--40
--获取年月日时分秒
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual--2016-10-10 03:17:25
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual--2016-10-10 15:17:51

(1)从上面的测试SQL可以看出年月日yyyy,mm,dd,hh,mi,ss的大小写对于从oracle中获取年月日时分秒没有影响

(2)对于获取小时分12小时和24小时的情况,如果你想获取显示下午的时间,你可以采用hh24,这样就会显示类似于15:30而不是03:30

总结

以上所述是小编给大家介绍的Oracle 计算时间格式平均值的sql 语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Oracle中sys和system的区别小结

    Oracle中sys和system的区别小结

    SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库。是Oracle数据库中权限最高的帐号 SYSTEM具有DBA权限。但没有SYSDBA权限。平常一般用该帐号管理数据库就可以了。
    2009-11-11
  • PLSQL developer12汉化过程

    PLSQL developer12汉化过程

    今天小编就为大家分享一篇关于PLSQL developer12汉化过程的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Orace查询数据出现乱码的问题解决思路

    Orace查询数据出现乱码的问题解决思路

    经常有些朋友会遇到,我明明是输入的正确中文,为什么我在另外一台电脑上查询却出现乱码啦?其实这个是数据库在进行字符集转换的时候出现了问题,本文介绍解决方法,需要了解的朋友可以参考下
    2013-01-01
  • Access2000迁移到Oracle9i要点

    Access2000迁移到Oracle9i要点

    Access2000迁移到Oracle9i要点...
    2007-03-03
  • Oracle误删除表数据后的数据恢复详解

    Oracle误删除表数据后的数据恢复详解

    这篇文章主要介绍了Oracle误删除表数据后的数据恢复详解,需要的朋友可以参考下
    2015-08-08
  • Oracle关于重建索引争论的总结

    Oracle关于重建索引争论的总结

    这篇文章主要介绍了Oracle关于重建索引争论的总结,本文总结了重建索引的理由、重建索引的本质、反对重建索引的理由等内容,需要的朋友可以参考下
    2014-09-09
  • oracle 使用递归的性能提示测试对比

    oracle 使用递归的性能提示测试对比

    先递归循环出某个文件夹下面的所有的文件夹以及文件在关联文件表查找文件的内容这是正确的做法,感兴趣的朋友可以了解下,或许对你学习oracle递归有所帮助
    2013-02-02
  • MS Server和Oracle中对NULL处理的一些细节差异

    MS Server和Oracle中对NULL处理的一些细节差异

    SQL Server和Oracle中对插入数据值包含空的处理有所差异,在SQL Server中,我们可以把表字段设计为非空,但我们仍然可以通过下面语句执行插入操作
    2009-06-06
  • 详解Oracle控制文件及日志文件的管理问题

    详解Oracle控制文件及日志文件的管理问题

    控制文件是oracle的物理文件之一,每个oracle数据库都必须至少有一个控制文件,它记录了数据库的名字、数据文件的位置等信息,这篇文章主要介绍了Oracle控制文件及日志文件的管理,需要的朋友可以参考下
    2022-07-07
  • oracle学习笔记(三)

    oracle学习笔记(三)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12

最新评论