sql >> Database teknologi >  >> RDS >> Sqlserver

Udtræk ugenummeret fra en dato i SQL Server (T-SQL)

Du kan bruge T-SQL-funktionen DATEPART() for at returnere ugenummeret fra en dato i SQL Server.

Med "ugenummer" mener jeg ugenummeret inden for året for den angivne dato.

Eksempel

For at returnere ugenummeret, brug week som det første argument i DATEPART() funktion.

DECLARE @date date = '2020-07-20';
SELECT DATEPART(week, @date);

Resultat:

30

Alternative argumenter

Alternativt kan du bruge wk eller ww som det første argument for at gøre det samme.

DECLARE @date date = '2024-07-20';
SELECT 
    DATEPART(week, @date) AS week,
    DATEPART(wk, @date) AS wk,
    DATEPART(ww, @date) AS ww;

Resultat:

+--------+------+------+
 | week   | wk   | ww   |
 |--------+------+------|
 | 29     | 29   | 29   |
 +--------+------+------+  

Du vil bemærke, at ugenummeret i disse resultater er anderledes end ugenummeret i det foregående eksempel, selvom begge eksempler brugte 20. juli som deres datoer. Dette kan forventes.

De to eksempler bruger et forskelligt årstal. Ugens antal kan påvirkes af året. Så med andre ord, bare fordi den 20. juli er den 30. uge på et år, betyder det ikke, at det bliver den 30. uge hvert år. Bare noget at være opmærksom på.

ISO-ugenummer

Du kan også returnere ISO-ugenummeret fra en dato ved at bruge iso_week argument. ISO-uger starter om mandagen, og den første uge i et år indeholder den 4. januar det pågældende år.

Derfor er det muligt, at datoer i begyndelsen af ​​januar er en del af den 52. eller 53. uge i det foregående år, og at datoer i slutningen af ​​december er en del af den første uge i det næste år.


  1. Hvad gør pg_escape_string præcist?

  2. Tilslutning til MySQL ved hjælp af Python

  3. Relationelt databasestyringssystem (RDBMS):MSSQL vs MySQL

  4. Oracle eksekveringsplaner ved brug af LIKE-operatoren med en DETERMINISTISK funktion