Maison >base de données >tutoriel mysql >Pourquoi ma requête de plage de dates MySQL renvoie-t-elle des résultats inattendus ?

Pourquoi ma requête de plage de dates MySQL renvoie-t-elle des résultats inattendus ?

DDD
DDDoriginal
2025-01-21 18:13:07365parcourir

Why is my MySQL date range query returning unexpected results?

Dépannage des requêtes de plage de dates MySQL

Rencontrez-vous des résultats inattendus lors de l'interrogation d'une plage de dates à l'aide de MySQL ? Analysons le problème ensemble et trouvons une solution.

Comprendre les plages de dates

L'opérateur BETWEEN de MySQL exige que la date de début soit antérieure à la date de fin. Mais dans votre requête initiale, la deuxième date (« 2010-01-30 14:15:55 ») apparaît avant la première date (« 2010-09-29 10:15:55 »). Cela entraîne une plage de dates non valide, excluant toutes les données.

Requête de correction

Pour résoudre ce problème, inversez simplement l'ordre des dates dans la requête :

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

Avec cette requête modifiée, MySQL interprétera correctement la plage de dates et récupérera les données correspondantes.

Plus de ressources

Pour plus d'informations, veuillez vous référer à la documentation officielle MySQL sur le traitement de la date et de l'heure : 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!

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