Můžete použít funkci T-SQL DATEPART()
vrátit číslo týdne z data na serveru SQL.
„Číslem týdne“ myslím číslo týdne v rámci roku od zadaného data.
Příklad
Chcete-li vrátit číslo týdne, použijte week
jako první argument DATEPART()
funkce.
DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);
Výsledek:
30
Alternativní argumenty
Případně můžete použít wk
nebo ww
jako první argument pro totéž.
DECLARE @date date = '2024-07-20';
SELECT
DATEPART(week, @date) AS week,
DATEPART(wk, @date) AS wk,
DATEPART(ww, @date) AS ww;
Výsledek:
+--------+------+------+ | week | wk | ww | |--------+------+------| | 29 | 29 | 29 | +--------+------+------+
Všimnete si, že číslo týdne v těchto výsledcích se liší od čísla týdne v předchozím příkladu, přestože oba příklady používaly jako datum 20. července. To se dá očekávat.
Dva příklady používají jiný rok. Číslo týdne může být ovlivněno rokem. Takže jinými slovy, jen proto, že 20. července je 30. týden v jednom roce, neznamená to, že to bude 30. týden každý rok. Jen něco, na co je třeba pamatovat.
Číslo týdne podle ISO
Můžete také vrátit číslo týdne ISO z data pomocí iso_week
argument. Týdny ISO začínají v pondělí a první týden v roce obsahuje 4. ledna daného roku.
Proto je možné, že data na začátku ledna budou součástí 52. nebo 53. týdne předchozího roku a data na konci prosince budou součástí prvního týdne příštího roku.