
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!
Déclaration: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