Maison >base de données >tutoriel mysql >Pourquoi ma requête SQLite renvoie-t-elle toutes les dates au lieu de la plage spécifiée ?

Pourquoi ma requête SQLite renvoie-t-elle toutes les dates au lieu de la plage spécifiée ?

DDD
DDDoriginal
2025-01-13 11:08:42691parcourir

Why Does My SQLite Query Return All Dates Instead of the Specified Range?

Erreur de requête de plage de dates SQLite : résolue

Lorsque vous utilisez SQLite pour générer un rapport de ventes, les résultats de la requête renvoient toutes les dates au lieu des dates comprises dans la plage spécifiée. Voici le code de requête utilisé :

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "11/1/2011" AND "11/8/2011";</code>

Cause du problème :

SQLite exige que les dates soient au format AAAA-MM-JJ. Cependant, les dates et les chaînes de requête dans la base de données ne suivent pas ce format. Par conséquent, SQLite interprète « date » comme une chaîne plutôt que comme une date.

Solution :

Pour résoudre ce problème, assurez-vous que la date et la chaîne de requête dans la base de données sont conformes au format AAAA-MM-JJ. La requête correcte devrait ressembler à ceci :

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "2011-11-01" AND "2011-11-08";</code>

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