Problème :
Vous avez une table MySQL avec une colonne datetime et nécessitent un moyen de sélectionner les enregistrements qui se situent dans une journée spécifique, sans tenir compte de l'heure composant.
Solution :
Pour y parvenir, évitez d'utiliser la fonction DATE() dans votre clause WHERE, car elle entrave les performances et empêche l'utilisation de l'index. Au lieu de cela, utilisez l'opérateur BETWEEN pour spécifier une plage de jours qui englobe la date souhaitée.
SELECT * FROM tablename WHERE columname BETWEEN '2012-12-25 00:00:00' AND '2012-12-25 23:59:59'
Alternativement, pour les versions de MySQL qui peuvent avoir des limitations en spécifiant « 23:59:59 » pour la fin de la journée, vous peut utiliser la requête suivante :
SELECT * FROM tablename WHERE columname >= '2012-12-25 00:00:00' AND columname < '2012-12-26 00:00:00'
Cette approche garantit que vous récupérez uniquement les enregistrements du jour spécifié, sans aucune influence de l'heure composant.
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!