Maison >base de données >tutoriel mysql >Comment récupérer efficacement des enregistrements MySQL en fonction de la date uniquement, en ignorant l'heure ?

Comment récupérer efficacement des enregistrements MySQL en fonction de la date uniquement, en ignorant l'heure ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 17:31:12553parcourir

How to Efficiently Retrieve MySQL Records Based on Date Only, Ignoring Time?

Récupérer les enregistrements en fonction de la date uniquement, à l'exclusion de l'heure

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!

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