• ベストアンサー

日付の減算方法

日付の計算で減算を行いたいのですが、 どのようにすればよろしいのでしょうか? 日付マスタから取得した項目「日付」から、 3ヶ月前の年月を取得したい。 ※日付マスタの項目「日付」(属性;日付型)には、 1レコードのみ。 ご教授よろしくお願い致します。 DB:Oracle9i

  • Oracle
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
回答No.1

add_months で -3 すればいいかと思います。 select add_months(日付,-3) from 日付マスタ

web_ryu
質問者

お礼

回答ありがとうございます。 おかげさまで解決することができました。

その他の回答 (1)

回答No.2

select 日付 - interval '3' month from 日付マスタ; で、3ヶ月前の日時を返します。 (必要に応じて、truncすると良いかと思います。)

web_ryu
質問者

お礼

回答ありがとうございます。 おかげさまで解決することができました。

関連するQ&A

  • 日付について

    DBから日付を取得して、そのDBから取得した日付とその当日の日付を比べて1週間以内なら、そのレコードを取得するような感じにしたいんですが、可能でしょうか?

  • 日付算出の方法

    Oracle9iを使用しておりますが 下記の様なテーブルが存在し、ユーザーより任意の日付を指定して貰い、 指定された日付の直近のレコードを抽出したいのですが方法が分かりません。 どなたか御教授お願いします。 例) 日付マスタ 日付 ---------- 2001/12/01 2001/12/12 2002/01/01 2002/03/22 2003/01/02

  • SQLで日付の更新は?

    DBの初心者です。 DBはAccess。 日付の項目のレコードを更新したいのですが SQLではどうかけばいいのでしょうか? レコードは複数です。 更新パターン1  年を一括で2003から2004に変更する   2003/06/20 → 2004/06/20 更新パターン2  現在のレコードの内容の日付を10日後に変更する  2003/06/20 → 2004/07/01 よろしくお願いします。

  • 日付の計算方法

    ド忘れ&すぐにDBに触れない状態で困ってます。 日付型 - 日付型 の値をHH24:MI:SS形式で求める方法を教えてください。 例. 日付A = TO_DATE('20060101100000','YYYYMMDDHH24MISS')   日付B = TO_DATE('20060101090000','YYYYMMDDHH24MISS') の時に、日付A - 日付Bの値を、'1:00:00'として求めたいのです。 分かりずらい説明ですみません。 ちなみにOracle8iです。

  • 日付データ挿入

    すみません。 BOから取得したデータをSQL Server にエクスポートして その中の日付の項目のデータがたとえば、 "2006/10/06 00:04:30"みたいにセットされていて そのデータをAccsessVBAで自分のローカルのDBにINSERTしようとするとエラーになります。 SQL Server に "20061001"のような値が入ってるレコードはINSERTできるのですが・・・。 "2006/10/06 00:04:30"のようなデータはINSERTするとき何か編集をしないといけないのでしょうか? よろしくお願い致します。

  • 前日の日付をとりたい!

    DBはOracleなんですが、Windowsのtelnetからsqlplusを利用して、データをとってきています。そこで、入力した日付から一日前を計算して、そのデータを取りたいのですが、どのようにすればいいのでしょうか?月のように、ADD_Monthsみたいなものはないのでしょうか?教えてください。よろしくお願いいたします。

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

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

  • 日付の変換方法について

    OSはunix(Solaris8)で、c言語を使ってます。 DBからDATE型の日付データ(YYYYMMDDhhmmss)を取得してきて、 30分後の時間を計算して元のDATE型に戻して格納する処理を行いたい のですが、一度数値に変換した方がよいのでしょうか? それとも、もっと効率の良い方法がありましたら教えて下さい。 宜しく御願い致します。

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

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

  • SQLの日付と、DBの日付項目に対する比較について

    よろしくお願いします。 以下のように、DBには年月日がCHARの8桁で格納されています。 20050125 20050126 20050127 20050128 20050130 20030201 20030202 この項目に対し、システム日付から過去一週間以内の 日付を取得したいのですが、文字型とSQLのDATE型の 比較はどのようにすればよろしいのでしょうか? よろしくお願いします。