Maison >base de données >tutoriel mysql >Comment récupérer des lignes avec des horodatages d'aujourd'hui uniquement en SQL ?

Comment récupérer des lignes avec des horodatages d'aujourd'hui uniquement en SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 05:01:13498parcourir

How to Retrieve Rows with Timestamps from Today Only in SQL?

Comment sélectionner des lignes avec des horodatages d'aujourd'hui uniquement

Dans une base de données relationnelle, la sélection de lignes avec des horodatages spécifiques peut être essentielle pour l'analyse des données et rapport. Un scénario courant consiste à récupérer les enregistrements de la journée en cours, à l'exclusion de toute composante temporelle.

L'approche actuelle et ses limites

La requête fournie, SELECT * FROM table WHERE (horodatage > DATE_SUB(now(), INTERVAL 1 DAY));, récupère les résultats des dernières 24 heures. En effet, il soustrait un jour de l'heure actuelle à l'aide de DATE_SUB, qui inclut tous les horodatages du jour précédent.

Utilisation de DATE et CURDATE() pour Precision

Pour sélectionnez les résultats uniquement en fonction de la date, en ignorant la composante temporelle, la requête suivante peut être utilisé :

SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE();

Ici, DATE() extrait uniquement la partie date de l'horodatage et CURDATE() renvoie la date actuelle. En comparant ces valeurs, la requête filtre efficacement les horodatages qui ne datent pas d'aujourd'hui.

Utilisation efficace de l'index

Il est important de noter que la requête ci-dessus ne peut pas utiliser d'index. efficacement. Envisagez plutôt d'utiliser cette requête alternative :

SELECT * FROM `table` WHERE `timestamp` >= DATE(NOW()) AND `timestamp` < DATE(NOW()) + INTERVAL 1 DAY;

Cette requête utilise un index sur la colonne d'horodatage, ce qui est une technique d'optimisation courante dans SQL.

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