Maison > base de données > tutoriel mysql > Pourquoi ma requête SQLite renvoie-t-elle toutes les dates malgré l'utilisation d'une clause BETWEEN ?

Pourquoi ma requête SQLite renvoie-t-elle toutes les dates malgré l'utilisation d'une clause BETWEEN ?

Patricia Arquette
Libérer: 2025-01-13 10:49:42
original
471 Les gens l'ont consulté

Why Does My SQLite Query Return All Dates Despite Using a BETWEEN Clause?

Pourquoi la requête SQLite ignore-t-elle les conditions de plage de dates ?

Description du problème :

Lors de l'interrogation d'enregistrements dans une plage de dates spécifique à l'aide d'une base de données SQLite, les résultats contiennent toutes les dates, même les dates en dehors de la plage spécifiée. L'instruction de requête utilisée est la suivante :

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "11/1/2011" AND "11/8/2011";</code>
Copier après la connexion

Cause du problème :

Le problème est le format de la date. SQLite nécessite des dates au format AAAA-MM-JJ (par exemple, « 2011-11-01 » à « 2011-11-08 »). Cependant, le format de date fourni dans la requête est « MM/JJ/AAAA ».

Lors de l'exécution d'une requête, SQLite interprète les chaînes de date comme du texte au lieu de dates. Par conséquent, il ignore la condition de date et récupère toutes les lignes de la table « test » quelle que soit la valeur réelle de la date.

Solution :

Pour résoudre ce problème, convertissez la chaîne de date au format AAAA-MM-JJ :

<code class="language-sql">SELECT * FROM test WHERE date BETWEEN "2011-11-01" AND "2011-11-08";</code>
Copier après la connexion

En utilisant le format de date correct, SQLite peut évaluer correctement la condition et limiter les résultats aux enregistrements dans la plage de dates spécifiée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal