Ich möchte genau 6 Monate ab einem bestimmten Datum subtrahieren. Wie machen Sie das in Oracle SQL?Berechnen Sie ein Datum in Oracle SQL
Antwort
SELECT ADD_MONTHS(SYSDATE, -6) FROM dual
Siehe ADD_MONTHS()
.
ADD_MONTHS (..., -6)
Sie schreiben: "Ich genau 6 Monate ab einem bestimmten Datum subtrahieren wollen". Aber was genau ist "genau 6 Monate"? Es ist nicht trivial. Nehmen wir zum Beispiel den 30. August 2009. Welches Datum ist genau 6 Monate früher? Oder 28. Februar 2009 ...
Also muss man definieren, was Sie meinen, und dann entscheiden, welche Methode Sie verwenden möchten:
- ADD_MONTHS (..., - 6)
- -interval '6' Monat
- eigenen Code
Ein Beispiel:
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
Wie Sie sehen können, gibt es einen deutlichen Unterschied zwischen add_months und der Intervallnotation.
Grüße, Rob.
guten Punkt, wenn das Geschäft sagt "wir wollen es genau sechs Monate", müssen Sie fragen: "Was bedeutet das genau?" Ich hatte Fälle, in denen das Geschäft "einen Monat" für 28 Tage hält. Ansonsten ist ADD_MONTHS normalerweise ausreichend. –
- 1. berechnen Differenz zwischen 2 Datum/Zeit in Oracle SQL
- 2. Overlap Datum Oracle SQL
- 3. Wie durchschnittliche Datum Auftrittshäufigkeit in SQL berechnen
- 4. Datum Operation in Oracle
- 5. Datum und Zeitverschiebung in Oracle SQL
- 6. PHP oder SQL berechnen 3 Arbeitstage vor einem Datum
- 7. Oracle SQL Datum nicht später als heute
- 8. SQL berechnen Datum Segmente innerhalb Kalenderjahr
- 9. SQL Server/Oracle Linked - Julian Datum Fehler
- 10. In Oracle SQL: Wie fügen Sie das aktuelle Datum + Uhrzeit in eine Tabelle ein?
- 11. Umwandlung ein XSD Datum xs: datetime zu einem Oracle-Datum
- 12. So berechnen Sie die Wochennummer für ein bestimmtes Datum Android
- 13. Berechnen des Wochentages, indem Sie ein bestimmtes Datum eingeben
- 14. Oracle: Datum Zeitsubtraktion
- 15. berechnen Datum Zeitdifferenz Python
- 16. Oracle-Datum
- 17. Extrakt Datum nur aus bestimmten Zeitstempeln in Oracle SQL
- 18. Berechnen Sie Rolling Summary Statistics in SQL
- 19. Convert Zeitstempel/Datum Zeit von UTC in EST Oracle SQL
- 20. Wählen Sie Letztes Datum des nächsten Jahres in Oracle
- 21. Berechnen, in welchem Bezahlzeitraum ein Datum in Google-Skript fällt
- 22. Oracle Datum/Reihenfolge nach Frage
- 23. Berechnen Sie den genauen Datumsunterschied in Jahren mit SQL
- 24. wie Null-Wert einzufügen in Datum Feld Oracle SQL Developer
- 25. SQL - zwei Monate vom heutigen Datum in Oracle
- 26. Berechnen Sie den Unterschied zwischen Datum/Uhrzeit in PHP
- 27. SQL Stunden über Nacht mit statischem Datum berechnen
- 28. Floor ein Datum in SQL-Server
- 29. Extrahieren Sie Datum von String Oracle
- 30. Komprimieren Sie ähnliche Zeilen in Oracle/SQL
+1 für die richtige Antwort, aber vor allem für die Aufnahme eines Links, der auf die am besten geeignete Dokumentation verweist. – spencer7593