Holen Sie sich die Anzahl der Tage zwischen zwei Datumsangaben in Oracle, inclusive der Termine

Ich will Gesamtzahl der Tage zwischen zwei Daten zur Verfügung gestellt. Ich habe versucht, die folgenden Abfrage, aber nicht die genaue Verschieden; das Letzte Datum ist nicht im Lieferumfang enthalten.

select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy')) 
  from dual

Dieser zurückkehren sollte, 501 Tage, aber es ist wieder in 500 Tagen statt. Wenn ich auf add +1 nach der Berechnung, dann bin ich immer das richtige Ergebnis.

Muss ich wirklich brauchen, um +1 oder gibt es einen alternativen Ansatz, um das tatsächliche Ergebnis?

  • Es ist die Rückkehr der 500 Tage, weil das ist der Unterschied :-). Wenn Sie möchten, dass Sie um 1 mehr als die Differenz, dann sollten Sie hinzufügen, 1, ja.
  • Ich würde sagen, es ist nicht das hinzufügen von end-Datum (d.h. 15-06-13) oder start-Datum (01-02-12). Ich möchte nicht noch einen Tag. Wenden Sie sich mit diesem link timeanddate.com/date/...
  • Der link sagt "end-Datum in die Berechnung (1 Tag Hinzugefügt)"; es ist explizit sagen Sie, dass 1 Tag aufgenommen werden. Es ist einfach nicht das default-Verhalten Subtraktion zu tun, was Sie Fragen, 10 - 4 6, nicht 5. Wenn Sie möchten, ändern Sie die Standard-Verhalten müssen Sie dies manuell tun.
InformationsquelleAutor user968441 | 2013-12-21
Schreibe einen Kommentar