Oracle SQL - 减去日期类型
Oracle SQL - Subtracting Date types
我正在尝试投影一个列,该列从结束时间减去员工的开始时间以获得总工作时数。
这是我拥有的:
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
有什么建议吗?
您可以在 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
...
我正在尝试投影一个列,该列从结束时间减去员工的开始时间以获得总工作时数。
这是我拥有的:
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
有什么建议吗?
您可以在 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
...