Maison >base de données >tutoriel mysql >Comment trouver le premier jour d'une semaine à partir de son numéro de semaine dans MySQL ?

Comment trouver le premier jour d'une semaine à partir de son numéro de semaine dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-21 08:50:08970parcourir

How to Find the First Day of a Week Given Its Week Number in MySQL?

Détermination du premier jour de la semaine à partir du numéro de semaine dans MySQL

Une tâche courante dans l'analyse des données ou la gestion du calendrier consiste à déterminer le premier jour d'une semaine en fonction de son numéro de semaine. Dans MySQL, nous pouvons exploiter une technique simple pour extraire ces informations.

Solution :

Pour récupérer le premier jour d'une semaine particulière à partir de son numéro de semaine, nous pouvons utiliser ce qui suit requête :

SELECT DATE(DATE_SUB(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY)), INTERVAL WEEKDAY(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY))) + 1 DAY)) AS WeekStart;

Explication :

  • DATE_ADD(NOW(), INTERVAL 1 DAY) : cela ajoute un jour à la date actuelle et la convertit à une valeur DATE, garantissant que nous commençons avec une numérotation de semaine basée sur le lundi.
  • WEEKDAY() : cette fonction renvoie le numéro du jour de la semaine (0 pour dimanche, 6 pour samedi) de la date donnée.
  • DATE_SUB() : Nous soustrayons le numéro du jour de la semaine plus 1 de la date pour récupérer le dimanche (premier jour de la semaine). L'ajout de 1 est nécessaire car WEEKDAY() renvoie 0 pour dimanche, tandis que dimanche doit être décalé vers la fin du schéma de numérotation de la semaine.
  • DATE() : Enfin, nous appliquons la fonction DATE() pour supprimer la composante heure et renvoyons uniquement la date.

Exemple :

Calculons le premier jour de la semaine en cours, qui est la semaine 29 :

SELECT DATE(DATE_SUB(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY)), INTERVAL WEEKDAY(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY))) + 1 DAY)) AS WeekStart;

Cette requête renverra la date "2023-07-18", qui correspond au dimanche, premier jour de la semaine 29.

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