Vous pouvez utiliser la fonction T-SQL DATEPART()
pour renvoyer le numéro de semaine à partir d'une date dans SQL Server.
Par "numéro de semaine", j'entends le numéro de la semaine dans l'année à partir de la date spécifiée.
Exemple
Pour renvoyer le numéro de semaine, utilisez week
comme premier argument de DATEPART()
fonction.
DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);
Résultat :
30
Arguments alternatifs
Alternativement, vous pouvez utiliser wk
ou ww
comme premier argument pour faire la même chose.
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Résultat :
+--------+------+------+ | week | wk | ww | |--------+------+------| | 29 | 29 | 29 | +--------+------+------+
Vous remarquerez que le numéro de semaine dans ces résultats est différent du numéro de semaine dans l'exemple précédent, même si les deux exemples ont utilisé le 20 juillet comme dates. C'est à prévoir.
Les deux exemples utilisent une année différente. Le numéro de la semaine peut être affecté par l'année. Donc, en d'autres termes, ce n'est pas parce que le 20 juillet est la 30e semaine d'une année que ce sera la 30e semaine chaque année. Juste quelque chose à garder à l'esprit.
Numéro de semaine ISO
Vous pouvez également renvoyer le numéro de semaine ISO à partir d'une date en utilisant le iso_week
argument. Les semaines ISO commencent le lundi et la première semaine d'une année contient le 4 janvier de cette année.
Par conséquent, il est possible que les dates de début janvier fassent partie de la 52e ou de la 53e semaine de l'année précédente, et que les dates de fin décembre fassent partie de la première semaine de l'année suivante.