プロが教えるわが家の防犯対策術!

ド忘れ&すぐにDBに触れない状態で困ってます。

日付型 - 日付型 の値をHH24:MI:SS形式で求める方法を教えてください。
例. 日付A = TO_DATE('20060101100000','YYYYMMDDHH24MISS')
  日付B = TO_DATE('20060101090000','YYYYMMDDHH24MISS')
の時に、日付A - 日付Bの値を、'1:00:00'として求めたいのです。

分かりずらい説明ですみません。
ちなみにOracle8iです。

A 回答 (2件)

実機で試した結果下記の通り、算出することができます。



select floor(sum_sec/3600) HOUR
floor(mod(sum_sec/3600)/60) MINUTE
floor(sum_sec - floor(sum_sec/3600)*3600 + floor(mod(sum_sec/3600)/60)*60)
from (select abs(DATEA-DATEB)*24*60*60 sum_sec
from (select TO_DATE('20060101100000','YYYYMMDDHH24MISS') DATEA
,TO_DATE('20060101090000','YYYYMMDDHH24MISS') DATEB
from dual)
)
;
    • good
    • 0
この回答へのお礼

お礼が遅れてもうしわけありません。
大変参考になりました。

お礼日時:2006/12/12 15:28

select to_char(int((日付A-日付B)/24),'HH24')||to_char(int((日付A-日付B)/24/60),'MI')||to_char(int((日付A-日付B)/24/60/60),'SS')


from dual;
とか。
すいません実機で試してないので思いつき
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!