Résoudre le problème de requête de plage de dates MySQL
Cet article explore un problème courant rencontré lors de l'utilisation de MySQL pour interroger une plage de dates spécifiée. L'instruction de requête suivante :
<code class="language-sql">SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')</code>
Bien que la base de données contienne des données qui remplissent la condition, l'instruction ne peut renvoyer aucun résultat.
Le problème est l'ordre des dates dans la clause BETWEEN
. La deuxième date ("2010-01-30 14:15:55") est antérieure à la première date ("2010-09-29 10:15:55"), ce qui entraîne une plage de dates générée dans laquelle aucune donnée n'existe réellement. . Pour résoudre ce problème, inversez simplement l'ordre des dates :
<code class="language-sql">SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')</code>
De cette façon, la requête trouvera les objets avec une valeur date_field
entre le 29 septembre 2010 et le 30 janvier 2010, obtenant ainsi les résultats attendus.
Pour plus d'informations, veuillez vous référer à la documentation officielle de MySQL : https://www.php.cn/link/4c74dcfeac90df69aed5c8a90125e696
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!