我有两个专栏,旨在为已故员工留出时间。以下是其内容的示例:
select TO_CHAR(VAHRUAE_ActualInTime, 'HH24:MI') ActualTime, TO_CHAR(VAHRUAE_InTime, 'HH24:MI') InTime from VAHRUAE_DailyAttendance
ActualTime InTime
01:25 00:57
05:46 00:57
06:00 00:57
我想从Intime中减去ActualTime。我在互联网上进行了很多搜索,并尝试了很多想法,但没有找到解决方案。我考虑过将小时数从分钟数中减去并减去,然后加入它们。问题是显示负值(例如46-57将导致-11min)。什么是正确的解决方案。
更新:
结果应该以小时:分钟形式,例如:
05:03(从06:00-00:57开始)
(如果有帮助)
select VAHRUAE_ActualInTime ActualTime, VAHRUAE_InTime InTime from VAHRUAE_DailyAttendance
ActualTime InTime
-------------- --------
01-JAN-70 00:57
01-JAN-70 00:57
01-JAN-70 00:57
desc VAHRUAE_DailyAttendance
Name Type
---------- ------
VAHRUAE_ActualInTime Date
VAHRUAE_InTime Date
答案 0 :(得分:0)
您可以尝试:
SELECT TO_TIMESTAMP(ActualTime) - TO_TIMESTAMP(InTime) FROM VAHRUAE_DailyAttendance;
或其他方式:
SELECT (ActualTime - InTime)*24*60 AS difference_in_minutes from VAHRUAE_DailyAttendance;
如果ActualTime
位于过去,则此值为负。如果您想要一个整数值,则将结果四舍五入
select round((ActualTime - InTime)*24*60,0)
from test;