Maison >base de données >tutoriel mysql >Pourquoi est-ce que je n'obtiens pas de résultats lors de la sélection d'enregistrements datant de plus de 15 minutes dans MySQL ?
Recherche d'enregistrements DateTime plus anciens qu'une heure spécifique
Dans MySQL, la sélection de lignes où une colonne datetime se situe dans une plage de temps spécifiée est une pratique courante tâche. Cependant, lorsqu'ils tentent de récupérer des enregistrements datant de plus d'un certain intervalle de temps, certains utilisateurs peuvent rencontrer des problèmes.
Un de ces problèmes est décrit dans une requête récente, dans laquelle un utilisateur a tenté d'extraire des enregistrements d'une colonne "creation_date" qui avaient plus de 15 minutes en utilisant la requête :
<code class="sql">WHERE creation_date >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)</code>
Étonnamment, la requête n'a renvoyé aucun résultat, malgré la présence d'enregistrements respectant le délai spécifié. Après un examen plus approfondi, il a été constaté que la condition utilisée (">=") était incorrecte. Pour récupérer des enregistrements datant de plus de 15 minutes, la condition correcte doit être :
<code class="sql">WHERE creation_date < DATE_SUB(NOW(), INTERVAL 15 MINUTE)</code>
Le "<" L'opérateur garantit que la valeur "creation_date" tombe avant la plage de temps spécifiée, permettant la récupération des enregistrements souhaités. Avec cet ajustement, la requête devrait désormais renvoyer avec précision tous les enregistrements datant de plus de 15 minutes dans la colonne "creation_date".
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!