U kunt de T-SQL-functie DATEPART()
. gebruiken om het weeknummer van een datum in SQL Server te retourneren.
Met "weeknummer" bedoel ik het weeknummer binnen het jaar van de opgegeven datum.
Voorbeeld
Gebruik week
. om het weeknummer terug te geven als het eerste argument van de DATEPART()
functie.
DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);
Resultaat:
30
Alternatieve argumenten
Als alternatief kunt u wk
. gebruiken of ww
als het eerste argument om hetzelfde te doen.
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Resultaat:
+--------+------+------+ | week | wk | ww | |--------+------+------| | 29 | 29 | 29 | +--------+------+------+
U zult zien dat het weeknummer in deze resultaten anders is dan het weeknummer in het vorige voorbeeld, ook al gebruikten beide voorbeelden 20 juli als datum. Dit is te verwachten.
De twee voorbeelden gebruiken een ander jaartal. Het weeknummer kan worden beïnvloed door het jaartal. Dus met andere woorden, alleen omdat 20 juli de 30e week in een jaar is, betekent dit niet dat het elk jaar de 30e week zal zijn. Gewoon iets om rekening mee te houden.
ISO-weeknummer
U kunt ook het ISO-weeknummer van een datum retourneren met de iso_week
argument. ISO-weken beginnen op maandag en de eerste week van een jaar bevat 4 januari van dat jaar.
Daarom is het mogelijk dat data van begin januari deel uitmaken van de 52e of 53e week van het voorgaande jaar en data van eind december tot de eerste week van het volgende jaar.