sql >> Databáze >  >> RDS >> Sqlserver

Extrahujte číslo týdne z data v SQL Server (T-SQL)

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.


  1. SQLite přejmenuje PRINTF() na FORMAT()

  2. Zápis souboru csv do databáze SQL Server pomocí pythonu

  3. Jak odstranit všechny tabulky MySQL z příkazového řádku bez oprávnění k databázi DROP?

  4. TDS Server – Použití příkazů Transact-SQL (T-SQL) pro práci s daty Salesforce na SQL Server