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
Libérer: 2024-12-21 08:50:08
original
969 Les gens l'ont consulté

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;
Copier après la connexion
Copier après la connexion

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;
Copier après la connexion
Copier après la connexion

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!

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