Interroger MySQL pour les enregistrements de la semaine en cours
La détermination des enregistrements de la semaine en cours dans une base de données MySQL peut être réalisée par différentes approches. Une méthode proposée consiste à calculer le jour de la semaine, le lundi précédent, la date du lundi, la date du dimanche futur et à faire une demande basée sur les dates calculées. Cependant, une approche plus concise utilisant la fonction YEARWEEK() est disponible.
YEARWEEK() est une fonction MySQL qui renvoie le numéro de semaine d'une date donnée, avec le jour de début par défaut défini sur dimanche. Pour rechercher des enregistrements dans la semaine en cours, y compris du lundi au dimanche, utilisez YEARWEEK() comme suit :
<code class="sql">SELECT * FROM your_table WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
Cette requête détermine le numéro de semaine pour la colonne de date de chaque ligne, en considérant le dimanche comme le premier jour de la semaine. semaine (paramètre 1). Il compare ensuite le numéro de semaine de chaque ligne au numéro de semaine de la date actuelle (CURDATE()), récupérant efficacement les enregistrements qui se situent dans la même semaine.
Correction de la plage de dates pour les enregistrements hebdomadaires
Correction de la plage de dates pour les enregistrements hebdomadaires
<code class="sql">SELECT * FROM temp WHERE yearweek(`date`) = yearweek(curdate())</code>
L'exemple de requête fourni dans la question :
<code class="sql">SELECT * FROM temp WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
récupère incorrectement les enregistrements du dimanche au samedi (17.11.2013 au 23.11.2013) en raison du jour de début par défaut du dimanche. Pour ajuster le lundi comme premier jour de la semaine et récupérer les enregistrements du 18.11.2013 au 24.11.2013, utilisez la requête modifiée suivante :
En spécifiant le jour de début comme lundi (paramètre 1), la fonction YEARWEEK() garantit que les limites de la semaine s'alignent sur la plage souhaitée.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!