I PostgreSQL kan du använda extract()
funktion för att få veckonummer från ett datum.
Du kan också använda date_part()
funktion för att göra samma sak.
Exempel 1:Extrakt()-funktionen
Här är ett exempel på hur du använder extract()
funktion för att extrahera veckan från ett datum.
VÄLJ utdrag (vecka från datum '2020-12-27') SOM "Veckans nummer";
Resultat:
Veckanummer ------------- 52
Exempel 2:Funktionen date_part()
Så här gör du samma sak med date_part()
funktion.
SELECT date_part('vecka', datum '2020-12-27') SOM "Veckans nummer";
Resultat:
Veckanummer ------------- 52
Exempel 3:Om ISO Week-numbering System
Om du får resultat som du inte förväntade dig kan det bero på hur ISO-vecknumrering definieras.
ISO-veckorna börjar på måndagar och den första veckan på ett år innehåller den 4 januari samma år. Därför är det möjligt att datum i början av januari är en del av den 52:a eller 53:e veckan föregående år, och att datum i slutet av december är en del av den första veckan nästa år.
Exempel:
VÄLJ utdrag (vecka från datum '2021-01-03') AS "2021-01-03", utdrag (vecka från datum '2021-01-04') AS "2021-01-04";Resultat:
2021-01-03 | 2021-01-04 ------------+------------ 53 | 1I det här fallet är den 3 januari 2021 faktiskt fortfarande en del av den sista veckan av 2020. Den första veckan av 2021 börjar inte förrän den 4 januari.
Nedan är ett annat exempel som visar att ett datum i slutet av året är en del av den första veckan på följande år.
VÄLJ utdrag (vecka från datum '2024-12-29') AS "2024-12-29", utdrag (vecka från datum '2024-12-30') AS "2024-12-30";Resultat:
2024-12-29 | 2024-12-30 ------------+------------ 52 | 1I det här fallet är den 29 december 2024 en del av den sista veckan av 2024, men så snart vi kommer till den 30 december är vi inne i den första veckan av 2025.