🧚 Hör mal! Beekeeper Studio ist eine schnelle, moderne Open-Source-Datenbank-GUI Download
19. Februar 2024 Von Matthew Rathbone

Einführung

Wenn du mit SQL-Datenbanken wie PostgreSQL arbeitest, gehört das Bearbeiten und Abfragen von Datums- und Zeitwerten zu den Grundlagen. Oft brauchen Anwendungen Analysen oder Reports, die sich auf Wochentage konzentrieren und Wochenenden ausschließen. In diesem Tutorial zeigen wir dir, wie du mit den Datums- und Zeitfunktionen von PostgreSQL nur Datensätze von Wochentagen auswählst.

Datum und Zeit in PostgreSQL verstehen

PostgreSQL bietet einen umfangreichen Satz an Funktionen und Operatoren für Datums- und Zeitwerte. Damit lassen sich auch komplexe Abfragen einfach umsetzen, etwa Zeilen nach Wochentagen auszuwählen.

Datums-/Zeit-Datentypen

Bevor wir Wochentage abfragen, lohnt sich ein Blick auf die wichtigsten Datums-/Zeit-Datentypen in PostgreSQL:

  • DATE: Für Datumswerte (Jahr, Monat, Tag).
  • TIMESTAMP: Für Datum und Uhrzeit, ohne Zeitzone.
  • TIMESTAMPTZ: Für Datum und Uhrzeit, mit Zeitzone.
  • TIME: Nur für Uhrzeiten, ohne Zeitzone.
  • TIMETZ: Nur für Uhrzeiten, mit Zeitzone.

Die Funktion EXTRACT

Eine zentrale Funktion für die Arbeit mit Wochentagen ist EXTRACT. Damit kannst du Teile eines Datums-/Zeitwerts herausziehen, zum Beispiel den Wochentag.

Nur Wochentage abfragen

Um Datensätze auszuwählen, die auf Wochentage (Montag bis Freitag) fallen, kannst du mit der Funktion EXTRACT den Wochentag aus einem Datum ermitteln. Dabei ist Sonntag 0 und Samstag 6.

Einfache Auswahl von Wochentagen

So filterst du Zeilen, sodass nur Wochentage enthalten sind:

-- Assuming a table 'events' with a 'date' column
SELECT *
FROM events
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5;

Diese Abfrage wählt Zeilen aus der Tabelle events aus, bei denen der Wochentag der Spalte date zwischen 1 (Montag) und 5 (Freitag) liegt, jeweils einschließlich.

Ausgabe:

id date event_name
1 2024-03-04 Projektstart
2 2024-03-05 Team-Meeting

Komplexere Szenarien: Tabellen joinen und nach Wochentagen filtern

Schauen wir uns ein komplexeres Beispiel an, bei dem du Tabellen joinen und trotzdem nach Wochentagen filtern musst.

-- Assuming another table 'event_details' that references 'events'
SELECT e.*, ed.detail
FROM events e
JOIN event_details ed ON e.id = ed.event_id
WHERE EXTRACT(DOW FROM e.date) BETWEEN 1 AND 5;

Diese Abfrage filtert die Events nicht nur nach Wochentagen, sondern joint auch die Tabelle event_details, um zugehörige Daten abzurufen.

Ausgabe:

id date event_name detail
1 2024-03-04 Projektstart Kick-off-Meeting
2 2024-03-05 Team-Meeting Monatlicher Review

Anwendungsfälle

Arbeitszeiten analysieren

Für Unternehmen, die Arbeitszeiten erfassen, kann das Herausfiltern von Wochenenden Einblicke in Produktivität und Personalkosten liefern.

-- Assuming a table 'work_hours' with 'employee_id', 'date', and 'hours_worked'
SELECT employee_id, SUM(hours_worked) AS total_hours
FROM work_hours
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5
GROUP BY employee_id;

Diese Abfrage berechnet die Gesamtstunden, die jeder Mitarbeiter an Wochentagen gearbeitet hat.

Ausgabe:

employee_id total_hours
101 40
102 38

Eventplanung

Für Eventplaner kann der Fokus auf Wochentage helfen, Events effizienter zu organisieren und zu terminieren.

-- Finding available event dates during weekdays
SELECT date
FROM events
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5
AND date > CURRENT_DATE
ORDER BY date;

So findest du kommende Wochentage, um zukünftige Events zu planen.

Ausgabe:

date
2024-03-06
2024-03-07

Fazit

Datensätze in PostgreSQL nach Wochentagen auszuwählen, ist eine nützliche Technik für Datenanalyse und Anwendungslogik. Mit den Datums- und Zeitfunktionen von PostgreSQL, vor allem EXTRACT, kannst du Daten ganz einfach nach deinen Anforderungen filtern. Ob du Geschäftsabläufe analysierst, Events planst oder einfach Zeitpläne verwaltest: Wenn du weißt, wie du Wochentage abfragst, erweiterst du deine Datenbank-Skills.

Übe mit diesen Beispielen, stöbere in der PostgreSQL-Dokumentation nach weiteren Datums-/Zeitfunktionen und hol mehr aus deinen Daten heraus.

Viel Spaß beim Abfragen!

Beekeeper Studio ist eine kostenlose & quelloffene Datenbank-GUI

Das beste SQL-Abfrage- & Editor-Tool, das ich je benutzt habe. Es bietet alles, was ich zum Verwalten meiner Datenbank brauche. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio ist schnell, intuitiv und einfach zu bedienen. Beekeeper unterstützt jede Menge Datenbanken und läuft hervorragend auf Windows, Mac und Linux.

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

Was Nutzer über Beekeeper Studio sagen

★★★★★
„Beekeeper Studio hat meinen alten SQL-Workflow komplett ersetzt. Es ist schnell, intuitiv und macht die Arbeit mit Datenbanken wieder zum Vergnügen.“
— Alex K., Datenbankentwickler
★★★★★
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper findet die perfekte Balance zwischen Features und Einfachheit. Es funktioniert einfach.“
— Sarah M., Full Stack Engineer

Bereit, deinen SQL-Workflow zu verbessern?

download Kostenlos herunterladen