Récupération d'enregistrements basés sur la date du jour dans MySQL
Lorsque vous travaillez avec des bases de données, il est souvent nécessaire de filtrer les résultats en fonction de critères de date ou d'heure spécifiques . Dans le cas de MySQL, l'obtention d'enregistrements dans lesquels une colonne de date correspond à la date du jour peut être réalisée en utilisant l'approche suivante :
La requête d'origine :
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE users.signup_date = CURDATE()
a un petit problème : elle compare les valeur datetime entière stockée dans la colonne signup_date au résultat de CURDATE(), qui représente uniquement la date actuelle sans le composant horaire. Cette comparaison est susceptible d'échouer.
Pour remédier à cela, vous pouvez utiliser la fonction DATE() pour extraire uniquement le composant date de la colonne signup_date, garantissant ainsi une comparaison appropriée avec la date actuelle :
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE()
Avec cette modification, MySQL évaluera si la partie date de la colonne signup_date correspond à la date actuelle, filtrant les enregistrements qui ne répondent pas à ce critère.
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!