当前位置: 代码迷 >> Oracle开发 >> 一个是上班打卡时间,一个是下班打卡时间,用下班 - 上班,得出每天共上班的分钟数,如何实现啊
  详细解决方案

一个是上班打卡时间,一个是下班打卡时间,用下班 - 上班,得出每天共上班的分钟数,如何实现啊

热度:22   发布时间:2016-04-24 06:39:21.0
一个是上班打卡时间,一个是下班打卡时间,用下班 - 上班,得出每天共上班的分钟数,怎么实现啊?
oracle的,上下班字段都是timestamp的
------解决方案--------------------
(下班时间-上班时间)*1440
------解决方案--------------------
引用:
oracle的,上下班字段都是timestamp的





SELECT EXTRACT (DAY    FROM (END_DATE-BEG_DATE))*24*60+
       EXTRACT (HOUR   FROM (END_DATE-BEG_DATE))*60+
       EXTRACT (MINUTE FROM (END_DATE-BEG_DATE))
  from foo


------解决方案--------------------
两个timestamp相减,得到的结果不是一个整数,而是一个在Oracle被称作"时间间隔"类型的一个结果,为此Oracle特地提供了 EXTRACT函数用于从该种类型中获取相应值.

两个DATE类型直接相减,是可以得到日期差的.只是缺少了一定的精度.
------解决方案--------------------
引用:
两个timestamp相减,得到的结果不是一个整数,而是一个在Oracle被称作"时间间隔"类型的一个结果,为此Oracle特地提供了 EXTRACT函数用于从该种类型中获取相应值.

两个DATE类型直接相减,是可以得到日期差的.只是缺少了一定的精度.



学习了。。。还真没用过EXTRACT函数,也很少遇到timestamp类型。

引发一个联想什么情况下使用timestamp类型呢?
------解决方案--------------------
引用:
Quote: 引用:

两个timestamp相减,得到的结果不是一个整数,而是一个在Oracle被称作"时间间隔"类型的一个结果,为此Oracle特地提供了 EXTRACT函数用于从该种类型中获取相应值.


The TIMESTAMP data type is an extension of the DATE data type. It stores fractional seconds in addition to the information stored in the DATE data type. The TIMESTAMP data type is useful for storing precise time values, such as in applications that must track event order.

~ timestamp 数据类型是DATE类型的一种扩展,它更加精确~  依赖于平台,能够提供 毫秒或者微秒级的精度. 
  相关解决方案