2017-10-25 12 views
0

oracleデータベースにhh:mmという形式の2つの時間列があります。私はこの時間フォーマットの違いを得て、これの出力を数分に変換したいと思っています。2時間を引いてOracleに分に変換する方法は?

私は次のことを試してみましたが、その作業をしていない:

select (d.to_time - d.from_time) 
from DEPT d; 

答えて

0

TO_TIMEFROM_TIME列の実際データ型は何ですか?

VARCHAR2ですか? DATETIMESTAMP

私はそれがVARCHAR2と思われます。もしそうなら、あなたは次のようなことをすることができます:

select (to_date(to_char(trunc(sysdate),'YYYY-MM-DD')||' '||d.to_time),'YY-MM-DD HH24:MI') 
    - to_date(to_char(trunc(sysdate),'YYYY-MM-DD')||' '||d.to_time),'YY-MM-DD HH24:MI'))*1440 
    from my_tab d; 

希望することができます。

+0

そのVARCHAR2、より有望であると思われます。私はこれを試しましたが、to_timeはシステム日付と正しく結びついていません。 ORA-01898:精度の指定子が多すぎます。 –

+0

あなたの試したことを正確に教えてください。 –

+0

いくつかのタイプミスを修正しました...もう一度やり直してください.... –

0

これは

SELECT (to_date(TO_CHAR(to_date(sysdate,'YYYY-MM-DD') 
    ||' ' 
    ||d.to_time) ,'YY-MM-DD HH24:MI') - to_date(TO_CHAR(to_date(sysdate,'YYYY-MM-DD') 
    ||' ' 
    ||d.from_time) ,'YY-MM-DD HH24:MI')) *1440 as conv_min 
FROM dept_opd_schedule_det d; 
関連する問題