Maison > base de données > tutoriel mysql > Comment sélectionner les enregistrements MySQL des 30 derniers jours, y compris aujourd'hui ?

Comment sélectionner les enregistrements MySQL des 30 derniers jours, y compris aujourd'hui ?

Patricia Arquette
Libérer: 2024-12-20 13:18:09
original
927 Les gens l'ont consulté

How to Select MySQL Records from the Last 30 Days, Including Today?

Sélection des enregistrements entre aujourd'hui et les 30 derniers jours dans MySQL

Dans MySQL, vous pouvez récupérer les enregistrements qui se situent dans une plage de dates spécifiée en utilisant une requête comme la suivante :

SELECT *
FROM table_name
WHERE date_column BETWEEN start_date AND end_date
Copier après la connexion

Cependant, lorsqu'ils tentent de limiter les résultats aux 30 jours précédents, les utilisateurs peuvent rencontrer des problèmes où la requête renvoie tous les enregistrements à la place. Pour résoudre ce problème, il est crucial de comprendre la syntaxe de formatage de date appropriée.

Dans la requête fournie :

create_date between DATE_FORMAT(curdate(),'%m/%d/%Y') AND (DATE_FORMAT(curdate() - interval 30 day,'%m/%d/%Y'))
Copier après la connexion

La fonction DATE_FORMAT est utilisée de manière incorrecte dans la clause WHERE. Cette fonction doit être appliquée dans la clause SELECT pour formater les dates récupérées à des fins d'affichage :

SELECT DATE_FORMAT(create_date, '%m/%d/%Y') AS formatted_date
FROM table_name
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Copier après la connexion

De plus, il est important de prendre en compte le type de données de la colonne create_date. S'il est stocké sous la forme DATETIME avec une composante temporelle non nulle, la requête ci-dessus ne sélectionnera pas avec précision les enregistrements du jour. Dans de tels cas, utilisez plutôt NOW() :

SELECT DATE_FORMAT(create_date, '%m/%d/%Y') AS formatted_date
FROM table_name
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
Copier après la connexion

En appliquant ces corrections, la requête récupérera correctement les enregistrements créés dans la plage de 30 jours spécifiée, formatés dans le « mm/jj/aa » souhaité. format.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal