Oracle11g 如何在oracle中获取总工作时间?
我在Oracle11g中有一个如下表Oracle11g 如何在oracle中获取总工作时间?,oracle11g,time-tracking,Oracle11g,Time Tracking,我在Oracle11g中有一个如下表 ACT_DTL_ID USER_ID ACTIVITY_TYPE ACTIVITY_TIME 0000000003 DOC000035 LOGIN 03-07-17 12:35:39.000000000 PM 0000000004 DOC000035 LOGOUT 03-07-17 12:41:07.000000000 PM 0000000005 DOC000035 LOGIN
ACT_DTL_ID USER_ID ACTIVITY_TYPE ACTIVITY_TIME
0000000003 DOC000035 LOGIN 03-07-17 12:35:39.000000000 PM
0000000004 DOC000035 LOGOUT 03-07-17 12:41:07.000000000 PM
0000000005 DOC000035 LOGIN 03-07-17 12:41:28.000000000 PM
0000000006 DOC000035 LOGOUT 03-07-17 12:50:35.000000000 PM
我想计算用户的总工作时间
你能帮帮我吗
select
sum((x.activity_time - to_date('01.01.2017', 'DD.MM.YYYY') * decode(x.activity_type,'LOGIN',-1,1))
from
your_table x
;
虽然这仅在列表以登录开始,以注销结束时有效。我帮助设置了格式。您可能需要计算连续登录和注销之间的差异。。。现在让我们看看你尝试了什么,我们会提供更多帮助!阅读以防万一…谢谢你的评论。我想在登录后立即获得注销时间。一天内可以多次登录和注销。您尝试过吗?