2016-04-17 18 views
0

従業員の開始時刻を終了時刻から差し引いて、合計作業時間を取得する列を投影しようとしています。ここでOracle SQL Select文の計算

は、私が持っているものです。

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 

何か提案がありますか?

答えて

2

は、Oracleで日付の種類をsubstractことができ、それはあなたに素晴らしく働いた日

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 
... 
+0

における期間で進数を与えます - そんなにありがとう! – mtfalcon31