🧚 Hör zu! Beekeeper Studio ist eine schnelle, moderne Open-Source-PostgreSQL-GUI Download
7. August 2024 Von Matthew Rathbone

PostgreSQL unterstützt die grundlegenden arithmetischen Operatoren, darunter die Subtraktion (-) für verschiedene numerische Datentypen.

Bevor du weiterliest, möchte ich dir kurz unseren modernen und schnellen PostgreSQL-Datenbankmanager Beekeeper Studio vorstellen. Mit seinem SQL-Editor mit Autovervollständigung probierst du diese Berechnungen im Handumdrehen aus, und für PostgreSQL ist er kostenlos – lade ihn hier herunter.

Unser erstes Beispiel ist ganz einfach: Wir subtrahieren zwei Ganzzahlen. Das funktioniert in allen SQL-basierten Datenbanken, nicht nur in PostgreSQL.

SELECT 15 - 5 AS result;

Erwartete Ausgabe:

result
10

Spalten subtrahieren

Schauen wir uns jetzt an, wie du eine Spalte von einer anderen subtrahierst. Nimm eine Verkaufstabelle sales mit folgender Struktur:

id item price discount
1 A 100 20
2 B 200 50

Du möchtest den Endpreis nach Abzug des Rabatts ermitteln. Dazu subtrahierst du einfach den Rabatt vom Preis.

SELECT id, item, price - discount AS Final_Price FROM sales;

Erwartete Ausgabe:

id item final_price
1 A 80
2 B 150

Datumswerte subtrahieren

Wenn du in PostgreSQL Datumswerte subtrahierst, erhältst du die Differenz zwischen zwei Daten in Tagen.

Nimm folgende Tabelle rentals:

id item rent_start_date rent_end_date
1 Bike 2022-03-01 2022-03-10
2 Car 2022-02-20 2022-03-02

Berechne die Mietdauer:

SELECT id, item, rent_end_date - rent_start_date as rental_duration FROM rentals;

Erwartete Ausgabe:

id item rental_duration
1 Bike 9
2 Car 10

Subtraktion mit Timestamps

In PostgreSQL liefert die Subtraktion von Timestamps das Intervall zwischen zwei Zeitpunkten.

Angenommen, wir haben eine Tabelle logins:

id login_time logout_time
1 2022-03-15 08:00:00 2022-03-15 10:30:00
2 2022-03-15 07:30:00 2022-03-15 10:00:00

Berechne die Dauer jeder Sitzung:

SELECT id, logout_time - login_time as session_duration FROM logins;

Erwartete Ausgabe:

id session_duration
1 02:30:00
2 02:30:00

Praktische Anwendungsfälle

Lagerverwaltung

Hier ein Beispiel, wie du den verfügbaren Bestand jedes Produkts berechnest, indem du die Anzahl verkaufter Artikel vom Gesamtbestand abziehst.

Angenommen, wir haben eine Lagertabelle mit folgender Struktur:

CREATE TABLE inventory (
    product_id SERIAL PRIMARY KEY,
    product_name VARCHAR(255),
    total_stock INT,
    sold INT
);

Beispieldaten:

INSERT INTO inventory (product_name, total_stock, sold) VALUES
('Product A', 100, 50),
('Product B', 200, 180),
('Product C', 150, 140);

Abfrage: Verfügbaren Bestand berechnen

SELECT product_id, product_name, total_stock - sold AS available_stock
FROM inventory;

Erwartete Ausgabe:

 product_id | product_name | available_stock 
------------+--------------+-----------------
          1 | Product A    |              50
          2 | Product B    |              20
          3 | Product C    |              10

In dieser Abfrage ziehen wir die Menge sold von total_stock ab und erhalten so den available_stock für jedes Produkt.

Alter berechnen

Die Funktion age berechnet in PostgreSQL die Differenz zwischen zwei Daten und gibt das Ergebnis als komplexen Intervalltyp mit Jahren, Monaten und Tagen zurück.

Hier ein praktischer Anwendungsfall, bei dem du das Alter von Kunden in einer Tabelle berechnen möchtest.

Angenommen, du hast eine Tabelle customers mit einer Spalte birthdate.

SELECT customer_id, birthdate, age(current_date, birthdate) AS age
FROM customers;

Erwartete Ausgabe:

 customer_id | birthdate  |         age          
-------------+------------+----------------------
           1 | 1990-04-25 | 34 years 3 mons 12 days
           2 | 1985-10-12 | 38 years 9 mons 24 days
           3 | 2000-01-01 | 24 years 7 mons  5 days

Fazit

Die Subtraktion in PostgreSQL ist ein vielseitiges Werkzeug, das du auf Zahlen, Datumswerte und Intervalle anwenden kannst. In diesem Artikel haben wir Subtraktionen in PostgreSQL mit Zahlen und Datumswerten kennengelernt. Prüfe bei Berechnungen immer die Datentypen und achte auf ihre Kompatibilität. Bleib dran für weitere Teile der Serie, in denen wir tiefer in fortgeschrittene SQL-Konzepte eintauchen. Happy Coding!

Weitere Artikel, die dir gefallen könnten:

Beekeeper Studio ist eine kostenlose & Open-Source-PostgreSQL-GUI

Das ist der PostgreSQL-Client, nach dem ich gesucht habe! Die Oberfläche macht den Unterschied: aufgeräumt, intuitiv, leistungsstark. Tschüss, klobiges PGAdmin. - David Cyprian

Beekeeper Studio ist ein schneller, intuitiver und einfach zu bedienender PostgreSQL-Client. Er unterstützt auch viele andere Datenbanken und läuft super unter Windows, Mac und Linux.

Die Linux-Version von Beekeeper hat 100% des Funktionsumfangs, ohne Abstriche und ohne Kompromisse.

Was PostgreSQL-Nutzer über Beekeeper Studio sagen

Jay Simons Jay Simons Inhaber, Designly.biz

Anders als pgAdmin ist Beekeeper bemerkenswert einfach zu bedienen, ohne dass es an Features fehlt – und der Preis stimmt! Besonders nützlich ist die Backup-Funktion für Datenbanken. Einfach großartige Software.

Alex M

Fantastisches Tool, die praktischste IDE, die ich bisher für die Administration von Postgres- und MySql-Datenbanken gefunden habe – funktioniert einfach, ohne Theater :-)

Bereit, deinen PostgreSQL-Workflow zu verbessern?

download Kostenlos herunterladen