Maison > base de données > tutoriel mysql > Comment calculer les dates de début et de fin de semaine à partir d'un numéro de semaine en SQL ?

Comment calculer les dates de début et de fin de semaine à partir d'un numéro de semaine en SQL ?

Susan Sarandon
Libérer: 2025-01-07 00:52:40
original
931 Les gens l'ont consulté

How to Calculate Week Start and End Dates from a Week Number in SQL?

Obtention des dates de début et de fin de semaine à partir du numéro de semaine en SQL

Dans un scénario où vous avez une requête qui calcule le nombre de mariages pour les membres regroupés par année et numéro de semaine, il est utile de déterminer les dates de début et de fin de chaque semaine.

Pour y parvenir, vous pouvez intégrer des calculs basés sur le jour de la semaine et utilisez la fonction DATEADD.

Réponse :

Vous pouvez utiliser les expressions suivantes pour calculer les dates de début et de fin de semaine :

  • Début de la semaine : DATEADD(dd, -(DATEPART(dw, WeddingDate)-1), WeddingDate)
  • Fin de semaine : DATEADD(dd, 7-(DATEPART(dw, WeddingDate)), WeddingDate)

Explication :

  • DATEPART(dw, WeddingDate) : Renvoie le jour de la semaine pour le WeddingDate (1=dimanche, 7=samedi).
  • -(DATEPART(dw, WeddingDate)-1) : Soustrait le jour de la semaine (moins 1) pour obtenir le nombre de jours avant le début de la semaine (par exemple, si c'est mercredi, soustrayez 2).
  • DATEADD(dd, ...): Ajoute le nombre de jours spécifié à la WeddingDate (par exemple, ajouter 2 jours au mercredi donne lundi).

Exemple :

Si la date du mariage est '2023-03-08' (mercredi), les calculs seraient :

  • Début de la semaine : DATEADD(dd, -(DATEPART(dw, '2023-03-08')-1), '08/03/2023') = '06/03/2023' (Lundi)
  • Fin de semaine : DATEADD(dd, 7-(DATEPART(dw, '2023-03-08')), '2023-03-08') = '2023-03-12' ( dimanche)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal