2016-10-17 2 views

Antwort

2

Um das Startdatum zu bekommen, einfach die Wochennummer zu einem Datum to_date()

mit konvertieren Wenn Sie ISO week numbers Verwendung verwenden:

select to_date('201643', 'iyyyiw'); 

Ansonsten benutzen:

select to_date('201643', 'yyyyww'); 

Um das Enddatum zu erhalten, addiere einfach 7 zum Ergebnisdatum: to_date('201643', 'iyyyiw') + 7

+0

Ich liebe die einfache Abfrage aber Postgres hält gibt mir Fehlermeldung :( – YOBOX

+0

@YOBOX: und der Fehler ist –

+0

ERROR: Syntaxfehler bei oder in der Nähe von "to_date" LINE 1: to_date ('201643', 'yyyyww') ^ ********** Fehler ********** eRROR: Syntaxfehler bei oder in der Nähe von "to_date" SQL-Status: 42601 Charakter: 1 – YOBOX

0
SELECT date '2016-01-01' + interval '1 day' * ((7 - EXTRACT(DOW FROM DATE '2016-01-01')) + 29*7)  AS start_date, 
     date '2016-01-01' + interval '1 day' * ((7 - EXTRACT(DOW FROM DATE '2016-01-01')) + 29*7 + 6) AS end_date, 
+1

Geht das nicht davon aus, dass der erste Januar der Anfang einer Woche ist? –

+0

@LaurenzAlbe Ich (endlich) aktualisiert meine Antwort. Ich denke, wir können die Woche mit 'EXTRACT (DOW ...) 'auf den ersten Tag des Jahres einstellen. –

Verwandte Themen