私は、日付タイプ属性を含むテーブルAを持っています。私は、Aの値の1ヶ月後に値を持つ別のテーブルBに日付を選択するためのクエリを作成したいと思います。誰かがOracleでそれを行う方法を知っていますか?保存日(オラクル)に1ヶ月追加
答えて
OracleではADD_MONTHS
関数を使用する必要があります。
http://www.techonthenet.com/oracle/functions/add_months.php
追加情報:あなたが今日の日付で、この機能を使用する場合は、今から1ヶ月を取得するためにADD_MONTHS(SYSDATE, 1)
を使用することができます。あなたが "ADD_MONTHS" 機能を探しているようだ
http://psoug.org/reference/date_func.html
:
質問は、テーブルbのdate_fieldがテーブルaのdate_fieldより1ヶ月先のテーブルbからdate_fieldを選択することです。
現在のところ、この質問では特定されていない追加の要件を考慮する必要があります。 1か月先の日付を2日後に失効させる可能性のある日数を含めるかどうか(例:a = 2011-04-30およびb = 2011-05-01、bは1ヶ月先ですが、1日だけです)。
最初のケースで、我々は彼らの年と月の値に両方の日付を切り捨てる必要があります。
SELECT TRUNC(TO_DATE('2011-04-22','yyyy-mm-dd'), 'mm') as trunc_date
FROM dual;
が与える:第2のケースで
trunc_date
----------
2011-04-01
我々は、日付を変更する必要はありません。
少なくとも二つのアプローチは、最初の問題を解決するために使用することができる
:最初のものは周りの表AにDATE_FIELDに一ヶ月を追加し、一致する日付が表Bの行を見つける公転します。
SELECT b.date_field
FROM tab_a as a
,tab_b as b
WHERE ADD_MONTHS(TRUNC(a.date_field, 'mm'), 1) = TRUNC(b.date_field, 'mm')
;
切り捨てられた日付に注意してください。これを残しておくと、日付間の完璧な日々の試合が必要になります。
2つ目のアプローチは、2つの日付間の月の差を計算し、1か月の差を与える計算を選択することに基づいています。
SELECT b.date_field
FROM tab_a as a
,tab_b as b
WHERE months_between(TRUNC(b.date_field, 'mm') , TRUNC(a.date_field, 'mm')) = 1
ここでは、months_betweenのフィールドの順序が重要です。 b.date_field一ヶ月ため
- 前方 a.date_fieldの値が値a.date_field一ヶ月前b.date_field 1
- である-1(ネガティブ:提供される例で1)
注文を元に戻すと、結果が逆転します。
これはあなたの質問にお答えします。
- 1. 当月1ヶ月マイナス1ヶ月
- 2. PHPで6ヶ月追加
- 3. オラクルは1ヶ月間の最後の日付を取得します
- 4. Javaでの日付計算、今日から3ヶ月追加
- 5. 現在の日付に+6ヶ月を追加するには
- 6. Countdown.jsは1ヶ月余分に追加していますか?
- 7. 現在の日付の1ヶ月と現在の日付の+1月
- 8. 1日、1週間、1ヶ月の合計
- 9. 2ヶ月間の1ヶ月間のエクセルチェック
- 10. fullcalendar過去1ヶ月コンテナスタイリング
- 11. Javascriptを使用してCRMの開始日に2ヶ月を追加する
- 12. Pythonで1ヶ月残った月曜日の数を計算するには
- 13. 参照日2ヶ月前にアクセスSQL
- 14. 今日から1ヶ月以内に日付を受け入れるには?
- 15. はDateIntervalでのDateTimeヶ月を追加すると、新しい日付
- 16. SQL Serverの - 1ヶ月のレコードに複数ヶ月以上の分割記録
- 17. 1ヶ月は数日かかりますか?
- 18. SASで1ヶ月の日数をカウントする
- 19. NSCalendarから1ヶ月の最初の日を取得する
- 20. 現在の日付に1か月を追加するには
- 21. "read"アクションが1ヶ月以上保留中です
- 22. は来月に以前ヶ月のデータを追加し、SAP HANA CV
- 23. 過去6ヶ月間を月曜日に取得
- 24. 今日からnヶ月後のJavascript
- 25. 指定日から1日/ 1ヶ月/ 1週間の現在の日付を確認するphp/laravel
- 26. PHPは日付から1ヶ月を日付で区切ります( 'm-Y')
- 27. 1ヶ月あたりの1日のアドレス数を取得する方法
- 28. 1ヶ月以内のデータを選択
- 29. 最後の1ヶ月のデータ
- 30. 1ヶ月かかりましたか?
どのように「1か月」を定義しますか?つまり、ソース日付が1月31日の場合、ターゲット日付は何ですか? 2月28日か29日? 3月のある日? – Mat
3月の最初の日付。31日後の1ヶ月です。 – SunyGirl
行進の最初の日は本当に感動しません。これは2カ月前または29日後または30日前です。 – Mat