指定された日付から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. Oracle SQLの日付計算
- 2. 日付間のSQL計算
- 3. 日間の所得の計算Oracle SQL
- 4. T-SQL日付の再計算を計算する
- 5. SQL Serverで計算日と計算日を取得する
- 6. Oracle SQLで条件付きパーセンタイルを計算する方法
- 7. 日付計算
- 8. 日付計算減算日付
- 9. SQL Server - 計算された日付列
- 10. 計算SQLの日付間の年数
- 11. JavaのUnixタイムスタンプを日付に換算するOracle SQLクエリー
- 12. Oracle SQL Select文の計算
- 13. SQL日時計算
- 14. 日付の計算
- 15. 日付と計算
- 16. EXTJS日付計算
- 17. 日付を手で計算する
- 18. Pythonで日付を計算する
- 19. foreachループで日付を計算する
- 20. 日の日付計算
- 21. 配列の日付を日付計算の計算に追加するには
- 22. oracleのカレンダー表を使用しない日付間の休日を含む勤務日の計算SQL
- 23. SQLの日付に基づいてパーセンタイルを計算する
- 24. 日付カラムのOracle SQLカウント
- 25. oracle sqlの平均日付
- 26. Oracle SASのパススルーSQL日付
- 27. 日付を年から計算する
- 28. 日付を計算する数式
- 29. パワークエリー - 日付をチェックする計算カラム
- 30. 日付の平均を計算する
+1は正解ですが、ほとんどの場合、最も適切なドキュメントを参照するリンクが含まれています。 – spencer7593