指定された日付から6か月を正確に差し引きたい。 Oracle SQLでこれをどのようにして行いますか?Oracle SQLで日付を計算する
1
A
答えて
6
SELECT ADD_MONTHS(SYSDATE, -6) FROM dual
ADD_MONTHS()
を参照してください。
1
ADD_MONTHS(...、-6)
4
あなたは、 "私は与えられた日からちょうど6ヶ月減算するほしい" 書きます。しかし、正確に「6ヶ月」とは何ですか?それは自明ではない。たとえば、2009年8月30日を考えてみましょう。正確に6ヶ月前の日付は何ですか?または2009年2月28日...
だからあなたが何を意味するかを定義してから、使用したい方法を決定する必要があります。
- ADD_MONTHS(...、 - 6)
- -intervalを'6' の月
- 独自のコード
例:
SQL> select add_months(date '2009-08-30', -6)
2 , add_months(date '2009-02-28', -6)
3 from dual
4/
ADD_MONTHS(DATE'200 ADD_MONTHS(DATE'200
------------------- -------------------
28-02-2009 00:00:00 31-08-2008 00:00:00
1 row selected.
SQL> select date '2009-02-28' - interval '6' month
2 from dual
3/
DATE'2009-02-28'-IN
-------------------
28-08-2008 00:00:00
1 row selected.
SQL> select date '2009-08-30' - interval '6' month
2 from dual
3/
select date '2009-08-30' - interval '6' month
*
ERROR at line 1:
ORA-01839: date not valid for month specified
ご覧のとおり、add_monthと間隔表記には明確な違いがあります。
よろしく、 ロブ。
+1
良い点は、ビジネスが「正確に6ヶ月」を望んでいるとすれば、「正確にはどういう意味ですか?」と尋ねる必要があります。 私は、「1ヶ月」が28日間であると考えているケースがありました。 それ以外の場合は、通常はADD_MONTHSで十分です。 –
関連する問題
- 1. 日付計算
- 2. 計算SQLの日付間の年数
- 3. 日付の計算
- 4. SQL日時計算
- 5. Pythonで日付を計算する
- 6. Oracle SQL Select文の計算
- 7. oracleのカレンダー表を使用しない日付間の休日を含む勤務日の計算SQL
- 8. 日付を年から計算する
- 9. 日付の平均を計算する
- 10. 差異日付計算
- 11. SSRSの日付計算 - ケース?
- 12. 日付カラムのOracle SQLカウント
- 13. oracle sqlの平均日付
- 14. Google Appsスクリプトで日付、年、月、日を計算する
- 15. 2つの日付間の日曜日を計算する
- 16. SQL条件付き計算
- 17. Oracle PL/SQLの日時演算間隔
- 18. SQLの計算日付セグメント私は必要なもの
- 19. SQL静的な日付の夜間の計算時間
- 20. 100 +日付が異なるタイムゾーンで現在の2つの日付が計算されている時刻を計算します...もっと計算する
- 21. 日付差の合計を計算する
- 22. 日付範囲の曜日の数を計算する
- 23. 特定の日付の日を計算する
- 24. 曜日のみを計算する日付関数
- 25. SQLの日付のモジュロ演算
- 26. SQLを使用して特定の日付範囲内の日付を計算する
- 27. Calc SQL Serverの2つの日付の間の週数を計算するラウンドアップ
- 28. シェルスクリプトの日付計算方法
- 29. トリッキーなPHP/MySQLの日付計算
- 30. 四半期ごとの日付計算
+1は正解ですが、ほとんどの場合、最も適切なドキュメントを参照するリンクが含まれています。 – spencer7593