我试图投射一个专栏,从结束时间开始减去员工的开始时间,以获得总工时。
以下是我所拥有的:
select task_name "NAME", to_char(ses_start, 'DD-MON-RR') "DATE", to_char(ses_start,'HH:MI PM') "START", to_char(ses_end, 'HH:MI PM') "END",to_number(to_char(ses_end,'HH24:MI')) - to_number(to_char(ses_start,'HH24:MI')) "TOTAL"
TOTAL专栏没有工作 - 甚至可以做这样的事情吗?它一直工作直到我添加该列,输出类似于:
TASK_NAME DATE START END
----------------- ------------ ---------- -----------
create flyers 26-MAR-16 02:00 PM 04:30 PM
update website 28-MAR-16 11:00 AM 01:00 PM
所以现在我想要一个最后一栏(最好是几个小时):
TOTAL
-----
2.5
2
或者,至少在几小时和几分钟内(这是我试图做的)......
TOTAL
-------
02:30
02:00
有什么建议吗?
答案 0 :(得分:2)
你可以在oracle中减去日期类型,它会给你一个十进制数字,它是以天为单位的持续时间
select
task_name,
to_char(ses_start, 'DD-MON-RR') DATE,
to_char(ses_start,'HH:MI PM') START,
to_char(ses_end, 'HH:MI PM') END,
round((ses_end - ses_start) * 24, 2) DURATION_IN_HOUR
...