- ベストアンサー
(SQL)日数の計算
こんにちは、kwnshと申します。 SQLで SELECT to_char(last_day(SEISAN_YMD),'dd') FROM VIWDKJSWBF M; テーブルに格納されている月の日数を求めた後、 違うテーブルの項目(HHHMM)形式の データの減算を行いたいのですが、 なにかいい方法はないでしょうか?
- みんなの回答 (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
その他の回答 (1)
- tsukasa-12r
- ベストアンサー率65% (358/549)
SELECT SYSDATE - TO_DSINTERVAL('0' || TO_CHAR(COL1, 'HH24:MI:SS') ) FROM DUAL; のような感じ TO_DSINTERVAL を使用するとかはどうでしょうか。
お礼
早速のお返事ありがとうございました。 TO_DSINTERVALを使おうとしたのですが、 ORA-01867: 間隔が無効です。という エラーがでました。 OracleにTO_DSINTERVAL関数はないのでしょうか?
お礼
ありがとうございます。 上記の方法で計算することができました。