Sie können die T-SQL-Funktion DATEPART()
verwenden um die Wochennummer von einem Datum in SQL Server zurückzugeben.
Mit „Wochennummer“ meine ich die Wochennummer innerhalb des Jahres des angegebenen Datums.
Beispiel
Um die Wochennummer zurückzugeben, verwenden Sie week
als erstes Argument von DATEPART()
Funktion.
DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);
Ergebnis:
30
Alternative Argumente
Alternativ können Sie wk
verwenden oder ww
als erstes Argument, dasselbe zu tun.
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Ergebnis:
+--------+------+------+ | week | wk | ww | |--------+------+------| | 29 | 29 | 29 | +--------+------+------+
Sie werden feststellen, dass sich die Wochennummer in diesen Ergebnissen von der Wochennummer im vorherigen Beispiel unterscheidet, obwohl in beiden Beispielen der 20. Juli als Datum verwendet wurde. Dies ist zu erwarten.
Die beiden Beispiele verwenden ein anderes Jahr. Die Wochenzahl kann durch das Jahr beeinflusst werden. Mit anderen Worten, nur weil der 20. Juli die 30. Woche in einem Jahr ist, heißt das nicht, dass es jedes Jahr die 30. Woche sein wird. Nur etwas, worauf man achten sollte.
ISO-Wochennummer
Sie können auch die ISO-Wochennummer von einem Datum zurückgeben, indem Sie iso_week
verwenden Streit. 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.