- ベストアンサー
日付の計算方法
ド忘れ&すぐにDBに触れない状態で困ってます。 日付型 - 日付型 の値をHH24:MI:SS形式で求める方法を教えてください。 例. 日付A = TO_DATE('20060101100000','YYYYMMDDHH24MISS') 日付B = TO_DATE('20060101090000','YYYYMMDDHH24MISS') の時に、日付A - 日付Bの値を、'1:00:00'として求めたいのです。 分かりずらい説明ですみません。 ちなみにOracle8iです。
- みんなの回答 (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) ) ;
その他の回答 (1)
- gdcootie
- ベストアンサー率42% (3/7)
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; とか。 すいません実機で試してないので思いつき
お礼
お礼が遅れてもうしわけありません。 大変参考になりました。