dポイントプレゼントキャンペーン実施中!

こんにちは、kwnshと申します。
SQLで
SELECT to_char(last_day(SEISAN_YMD),'dd')
FROM VIWDKJSWBF M;
テーブルに格納されている月の日数を求めた後、

違うテーブルの項目(HHHMM)形式の
データの減算を行いたいのですが、
なにかいい方法はないでしょうか?

A 回答 (2件)

TO_DSINTERVAL は Oracle 9 からのもののようです。


ということは、Oracle 7 か 8 なんですね?

sysdate に 2:30:40 を加算するのだったら、↓こういう感じになります。

select
  to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS'),
  to_char(sysdate + 2/24 + 30/24/60 + 40/24/60/60, 'YYYY/MM/DD HH24:MI:SS')
from dual;

SQL*Plus での結果
>TO_CHAR(SYSDATE,'YY TO_CHAR(SYSDATE+2/2
>------------------- -------------------
>2004/01/21 11:00:20 2004/01/21 13:31:00
    • good
    • 0
この回答へのお礼

ありがとうございます。
上記の方法で計算することができました。

お礼日時:2004/01/22 15:31

SELECT SYSDATE - TO_DSINTERVAL('0' || TO_CHAR(COL1, 'HH24:MI:SS') )


FROM DUAL;
のような感じ TO_DSINTERVAL を使用するとかはどうでしょうか。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございました。
TO_DSINTERVALを使おうとしたのですが、
ORA-01867: 間隔が無効です。という
エラーがでました。
OracleにTO_DSINTERVAL関数はないのでしょうか?

お礼日時:2004/01/20 18:12

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