PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Holen Sie sich die Wochennummer von einem Datum in PostgreSQL

In PostgreSQL können Sie den extract() verwenden Funktion, um die Wochennummer von einem Datum zu erhalten.

Sie können auch date_part() verwenden Funktion dasselbe tun.

Beispiel 1:Die Extract()-Funktion

Hier ist ein Beispiel für die Verwendung von extract() Funktion zum Extrahieren der Woche aus einem Datum.

SELECT extract(week from date '2020-12-27') AS "Week Number";

Ergebnis:

 Wochennummer ------------- 52

Beispiel 2:Die Funktion date_part()

So machen Sie dasselbe mit date_part() Funktion.

SELECT date_part('week', date '2020-12-27') AS "Wochennummer";

Ergebnis:

 Wochennummer ------------- 52

Beispiel 3:Über das ISO-Wochennummerierungssystem

Wenn Sie unerwartete Ergebnisse erhalten, kann dies an der Art und Weise liegen, wie die ISO-Wochennummerierung definiert ist.

ISO-Wochen beginnen montags und die erste Woche eines Jahres enthält den 4. Januar dieses Jahres. Daher ist es möglich, dass Termine Anfang Januar Teil der 52. oder 53. Woche des Vorjahres und Termine Ende Dezember Teil der ersten Woche des nächsten Jahres sind.

Beispiel:

SELECT Extrakt(Woche ab Datum '2021-01-03') AS "2021-01-03", Extrakt(Woche ab Datum '2021-01-04') AS "2021-01-04"; 

Ergebnis:

 2021-01-03 | 04.01.2021 -------------+------------ 53 | 1

In diesem Fall gehört der 3. Januar 2021 eigentlich noch zur letzten Woche des Jahres 2020. Die erste Woche des Jahres 2021 beginnt erst am 4. Januar.

Unten ist ein weiteres Beispiel, das zeigt, dass ein Datum am Ende des Jahres Teil der ersten Woche des folgenden Jahres ist.

SELECT extract(week from date '2024-12-29') AS "2024-12-29", extract(week from date '2024-12-30') AS "2024-12-30"; 

Ergebnis:

 2024-12-29 | 2024-12-30 ----+------------ 52 | 1

In diesem Fall ist der 29. Dezember 2024 Teil der letzten Woche des Jahres 2024, aber sobald wir den 30. Dezember erreichen, befinden wir uns in der ersten Woche des Jahres 2025.