• ベストアンサー

Oracleで日付の計算をさせたいのですが・・・

Oracleで日付の計算をさせたいのですが・・・ 例えば、DBに入っているデータの日付の1か月後を抽出したいとします。 DBの中に入っているデータが、「2011/01/31」だったとします。 関数を使って1か月後を計算すると「2011/02/28」になるかと思います。 欲しいデータはこのような形ではなく“1か月後の日付が無かったら後ろ倒し”させたいのです。 上記の例で言えば「2011/01/31」の1か月後は「2011/03/01」としたいのです。 こういうのをやりたかったらプロシージャを組まなくてはいけないのでしょうか? 出来ればバッチファイルの中で実現したいのですが・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

具体的じゃないけど閏年の判定と年月日の月が大月かどうか、それとadd_monthsの一ヶ月後の日付と一致するかで日付を加算するかどうか判断すればよいのでは。 自分でやるならPL/SQLでストアドファンクションにしますね。その方が後々保守が楽な気がするので。

mr-r00
質問者

お礼

ありがとうございます。 助かりました。

その他の回答 (1)

  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.2

DBに入っているデータの日付の前日の1か月後の翌日 なーんてのじゃダメですかね。

mr-r00
質問者

お礼

ありがとうございます。

関連するQ&A