Récupérer le premier jour de la semaine dans MySQL en fonction du numéro de semaine
Déterminer le premier jour d'une semaine spécifique à l'aide de son numéro de semaine est une tâche courante dans la programmation de bases de données. Grâce aux puissantes fonctions de date de MySQL, cela peut être accompli efficacement.
Le défi :
Étant donné le numéro d'une semaine, comment pouvons-nous récupérer le premier jour de cette semaine dans MySQL ? Par exemple, sachant que nous sommes actuellement dans la SEMAINE 29, nous cherchons à extraire le dimanche 18 juillet du paramètre numéro de semaine fourni.
La solution :
MySQL propose une approche simple pour résoudre ce problème. En utilisant la fonction DAYOFWEEK(), nous pouvons déterminer le jour de la semaine en cours, allant de 1 (dimanche) à 7 (samedi). En soustrayant la valeur DAYOFWEEK() de 1, on calcule le nombre de jours depuis le dimanche précédent.
A l'aide de la fonction ADDDATE(), on peut ensuite soustraire le nombre de jours calculé à la date actuelle pour arriver à le premier jour de la semaine :
ADDDATE(CURDATE(), INTERVAL 1-DAYOFWEEK(CURDATE()) DAY) WeekStart
Avec cette requête, nous pouvons obtenir le premier jour de la semaine en fonction de la date actuelle. Pour étendre davantage cette logique à n'importe quel numéro de semaine donné, nous pouvons paramétrer le numéro de semaine dans la requête :
ADDDATE(CURDATE(), INTERVAL 1-DAYOFWEEK(CURDATE())+(7 * (WEEKNO - WEEK(CURDATE()))) DAY) WeekStart
Cette requête renverra le premier jour de la semaine pour le paramètre WEEKNO spécifié. Dans cet exemple, remplacer WEEKNO par 29 donne le résultat souhaité : Dimanche 18 juillet.
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!