Maison >base de données >tutoriel mysql >Pourquoi mes requêtes de plage de dates MySQL ne renvoient-elles aucun résultat ?

Pourquoi mes requêtes de plage de dates MySQL ne renvoient-elles aucun résultat ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-21 18:02:101013parcourir

Why are My MySQL Date Range Queries Returning No Results?

Dépannage des problèmes de requête de plage de dates MySQL

Question :

Lorsque vous utilisez l'opérateur BETWEEN pour interroger une plage de dates dans une table MySQL, le résultat de la requête est vide.

<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>

Solution :

En y regardant de plus près, la deuxième date de la plage (« 2010-01-30 14:15:55 ») est antérieure à la première date (« 2010-09-29 10:15:55 »). Cela signifie que la requête demande des enregistrements entre des dates postérieures à une autre date.

Pour corriger ce problème, inversez l'ordre des dates dans l'opérateur ENTRE :

<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>

Après avoir effectué cette correction, la requête recherchera désormais les enregistrements avec une valeur de colonne date_field dans la plage de dates valide de « 2010-01-30 14:15:55 » et « 2010-09-29 10:15:55. '.

Plus de ressources :

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