Direkt zum Inhalt
Urkunden
FunktionenAusdrückeSchlüsselwörterAussagenKlauseln

MySQL WEEK() Function

Die Funktion `WEEK()` in MySQL wird verwendet, um die Wochennummer aus einem bestimmten Datum zu extrahieren. Es hilft bei der Organisation und Analyse von Daten in wöchentlichen Abständen.

Verwendung
Die Funktion `WEEK()` wird normalerweise verwendet, wenn du Datensätze nach Wochen gruppieren oder filtern musst. Sie gibt eine ganze Zahl zurück, die die Wochennummer des Jahres für ein bestimmtes Datum angibt.

sql
WEEK(date, [mode])

In dieser Syntax ist "date" das Datum, aus dem die Wochennummer extrahiert werden soll, und "mode" ist ein optionales Argument, das den Anfangstag der Woche bestimmt (z. B. Sonntag oder Montag). Wenn kein Modus angegeben wird, ist der Standardmodus 0, bei dem die Woche am Sonntag beginnt.

Modus Werte

  • 0: Die Woche beginnt am Sonntag. Woche 1 ist die erste Woche mit einem Sonntag in diesem Jahr.
  • 1: Die Woche beginnt am Montag. Folgt der ISO-8601-Norm, wonach Woche 1 die erste Woche mit mindestens 4 Tagen im neuen Jahr ist.
  • 2: Die Woche beginnt am Sonntag. Woche 1 ist die erste Woche, die mehr als die Hälfte ihrer Tage im neuen Jahr hat.
  • 3: Die Woche beginnt am Montag. Woche 1 ist die erste Woche, die mehr als die Hälfte ihrer Tage im neuen Jahr hat.
  • 4: Die Woche beginnt am Sonntag. Woche 1 ist die erste Woche mit mindestens 4 Tagen im neuen Jahr.
  • 5: Die Woche beginnt am Montag. Woche 1 ist die erste Woche mit einem Montag in diesem Jahr.
  • 6: Die Woche beginnt am Samstag. Woche 1 ist die erste Woche mit einem Samstag in diesem Jahr.
  • 7: Die Woche beginnt am Sonntag. Woche 1 ist die erste Woche mit einem Sonntag in diesem Jahr.

Beispiele

1. Basic Week Extraktion

sql
SELECT WEEK('2023-10-04');

Dieses Beispiel gibt die Wochennummer des Datums "2023-10-04" zurück. In der Standardeinstellung beginnt die Woche am Sonntag.

2. Woche Extraktion mit Modus

sql
SELECT WEEK('2023-10-04', 1);

Hier gibt die Funktion die Wochennummer mit dem Modus "1" zurück, was bedeutet, dass die Woche am Montag nach dem ISO-8601-Standard beginnt.

3. WEEK() in einer Abfrage verwenden

sql
SELECT COUNT(*)
FROM orders
WHERE WEEK(order_date) = WEEK(CURDATE());

In diesem Beispiel wird die Anzahl der Bestellungen in der aktuellen Woche gezählt, indem `WEEK()` die Wochennummer von `order_date` mit der Wochennummer des aktuellen Datums vergleicht.

Tipps und bewährte Praktiken

  • Wähle den richtigen Modus. Verwende das Argument "Modus", um es an deine Geschäftslogik anzupassen, besonders wenn du mit internationalen Daten arbeitest.
  • Konsistente Wochenberechnungen. Verwende in allen deinen Abfragen denselben Modus, um die Konsistenz der Wochenberechnungen zu gewährleisten.
  • Leistungsüberlegungen. Wenn du `WEEK()` in `WHERE`-Klauseln verwendest, solltest du die Datumsspalte indizieren, um die Abfrageleistung zu verbessern.
  • Handlungswochen über zwei Jahre hinweg. Sei dir bewusst, dass die verschiedenen Modi Wochen, die zwei Jahre umfassen, unterschiedlich behandeln; stelle sicher, dass deine Wahl des Modus widerspiegelt, wie du solche Wochen behandelt haben möchtest.
  • Kombiniere sie mit anderen Datumsfunktionen. Benutze `WEEK()` zusammen mit Funktionen wie `YEAR()` für detailliertere zeitbasierte Datenanalysen.
  • Berücksichtige Zeitzonen. Achte darauf, wie Zeitzonen die Datumsberechnung beeinflussen können, wenn dein Datensatz internationale Daten enthält.

SQL Upskilling für Einsteiger

Erwerbe die SQL-Kenntnisse, um mit deinen Daten zu interagieren und sie abzufragen.
Kostenloses Lernen beginnen