Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

PostgreSQL DATE Arithmetik (-)

Mit den arithmetischen DATE-Funktionen von PostgreSQL kannst du Berechnungen mit Datumswerten durchführen, z. B. die Differenz zwischen zwei Daten ermitteln. Diese Funktion ist wichtig für die Analyse von Zeitintervallen, die Zeitplanung und die zeitbasierte Berichterstattung.

Verwendung

Die Arithmetikfunktion DATE wird verwendet, wenn du die Differenz zwischen zwei Daten berechnen oder ein Intervall von einem Datum abziehen musst. Wenn zwei Daten subtrahiert werden, ist das Ergebnis ein Intervall, genauer gesagt in Tagen. Dieser Vorgang wird häufig in Szenarien wie der Berechnung des Alters, der Dauer oder der Terminierung von Aufgaben verwendet.

SELECT date1 - date2 AS interval_result;

In dieser Syntax sind date1 und date2 Datumswerte, und die Subtraktionsoperation - berechnet das Intervall zwischen ihnen.

Beispiele

1. Einfache Datumssubtraktion

SELECT '2023-10-10'::date - '2023-10-01'::date AS days_difference;

In diesem Beispiel wird die Anzahl der Tage zwischen dem 10. Oktober 2023 und dem 1. Oktober 2023 berechnet, was eine Differenz von 9 Tagen ergibt.

2. Subtrahieren eines Intervalls

SELECT '2023-10-10'::date - INTERVAL '3 days' AS new_date;

In diesem Fall werden 3 Tage vom 10. Oktober 2023 abgezogen, was zu einem neuen Datum, dem 7. Oktober 2023, führt.

3. Berechnen des Alters anhand des Geburtsdatums

SELECT CURRENT_DATE - birth_date AS age_in_days FROM users;

In diesem Beispiel wird das Alter in Tagen für jeden Benutzer in der Tabelle users berechnet, indem birth_date vom aktuellen Datum subtrahiert wird.

Tipps und bewährte Praktiken

  • Achte auf korrekte Datentypen. Verwandle Strings immer explizit in den Typ date und verwende ::date für genaue Berechnungen.
  • Verstehe die Intervalle. Ein Intervall stellt eine Zeitspanne dar und kann verwendet werden, um bestimmte Zeitspannen wie Tage, Monate oder Jahre zu subtrahieren, um Klarheit und Wartbarkeit zu gewährleisten.
  • Entscheide dich für CURRENT_DATE. Nutze CURRENT_DATE für Berechnungen mit dem aktuellen Datum, um sicherzustellen, dass deine Abfragen dynamisch und aktuell sind.
  • Kenne deine Datentypen. Achte auf die Unterschiede zwischen date, timestamp und timestamp with time zone, um Verwirrung zu vermeiden, denn nur timestamp with time zone berücksichtigt Zeitzonen.