• ベストアンサー

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

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

  • mr-r00
  • お礼率93% (480/516)
  • Oracle
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • 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

  • 期間設定データから特定の日付のものを抽出したい!

    エクセル2010の同一シート内に、初日と最終日が設定された催事のデータが大量にあります。 そこから、特定の日付に開催されている催事を抽出したいのですが、どのような関数を用いれば 実現できるでしょうか? <データの内容> イベントタイトル、初日、最終日 例)●●独演会、2013/4/1、2013/4/8 例)××座談会、2013/4/2、2013/4/4 例)▲▲ひとり会、2013/4/3、2013/4/4 ここから、例えば4/7に行われている公演(上記例であれば●●独演会)を抽出したいのです。 どうぞよろしくお願いいたします!

  • Access 日付関数の使い方を教えて下さい

    Accessで一ヶ月前の月全てのデータを抽出するには、クエリーにどのように日付関数を使えば良いのか教えて下さい 例) 1月~4月までのデータベースから今月(4月)の前月(3月)のデータ全てを抽出しる。5月になったら4月のデータと常に一ヶ月前のデータを全て抽出したいのですが

  • 日付計算(滞留)のついてのご質問(EXCEL)

    いつもお世話になっております。 今回お伺いしたいのは 日付計算の方法についてです。 例)2010/06 この年月と設定年月 例)2013/07 この二つがあったとします。 この場合、3年と1ヶ月経過しておりますので、 3.01という結果が返されます。 3は年数 小数点以下は月(11が最大値) DBにある沢山の年月からこの結果を表示させるには どのような関数を用いればよろしいでしょうか。 お知恵のある方どうぞよろしくお願い致します。

  • エクセルでの日付計算(期間内の個数を求める)

    表内に入力してある、日付を月ごとにカウントしたいのですが・・どのような関数を利用すれば実現できますでしょうか? 実現したい計算結果のサンプルを添付いたします。 よろしくお願いいたします。

  • 日付の計算について

    C言語なのですが、 DATE型の日付に1ヶ月または3ヶ月、または6ヶ月の月をプラスするという計算方法はどういうのがあるでしょうか?いったん、tm型に変換してから行うという形が無難なのでしょうか?

  • このような場合の日付計算について

    例えば、 商品コード(PRIMARY),売れた日 というカラムがあるDBのテーブルがあって、 これでどの商品がいつ売れたのかを管理しているとします。 このテーブルから、商品Aが先月何個売れたか、N月に何個売れたか、先週何個売れたか、ここ半年の週別売り上げ個数一覧・・・ のようなデータを取得するプログラムを組もうとしています。 しかし日付の計算の仕方がどうにもわからず困っています。 「今日の日付」という情報から、上記のような情報がSQLで取れるようにするための時間的条件を指定できる日付情報の算出の仕方を教えてください。 お願いいたします。

    • 締切済み
    • PHP
  • ACCESSのクエリで日付を計算したい

    どうか宜しくお願い致します。 ACCESSのデータで、日付が入力されている列があります。 その日付から2ヶ月後の月を新しい列に自動に表示させたいと 思っています。 例) 2008/1/1~2008/1/31までのデータは、新しい列に3月と表示させたい。 2008/2/1~2008/2/28までのデータは、新しい列に4月と表示させたい。 クエリを作成し、新しい列を作ってそこへ計算式を入力すればいいのかな?と思っているのですが、どのような計算式を入れればいいのか分かりません・・・。 どなたか詳しい方、アドバイスお願い致します。

  • 毎日DBのデータをCSVに抽出したい

    タスクスケジューラで定期的に「SQL」を発行させてデータをCSVファイルにはきだしたいと思っています。 対象のdbがOracle、DB2、MySQLです。 悩んでいることが2か所あります。 抽出条件のSQLはSQLファイルに書いて簡単に実現できるのですが、 ・毎日CSVを作るためファイル名に日付を入れたい ・抽出条件に特定の日付を入れたいのですが対象のテーブルでは日付を日付型でもっておらず文字列です 例:20110206 どのようにすればいいでしょうか? ひとつのSQLファイル内で実現は不可能でしょうか?

  • 日付で抽出 VBA マクロ処理

    日付でその日から1ヶ月の間の購入した図書データを 抽出したいのですが、マクロ初心者なのでなにも分かりません;; オートフィルタではない方法でやらなければなりません;; 日付でデータを抽出するにはどの関数を使えばいいでしょうか。 また、その日から1ヶ月の間というとこに さらにわからなくなります;; また、抽出されたデータを違うシートへとコピー しなければなりません;; 詳しく教えていただけると幸いです;; よろしくお願いいたします;;

  • 日付の加算・減算ってできますか?

    DB2でのSQLで日付の加算・減算が出来なくて困っています。 DateAddのような関数はないんだとは思いますが、同じような機能を実現させることは出来ないんでしょうか? ご回答をお願いします。