SQl les requêtes de recherche par plage de date
J'ai une table dans une base de données Access 2007. Tous les champs sont de type texte. Peut la suite être fait à l'aide de la clause where? Si oui, comment?
- SELECT * from Table1 WHERE (ColumnDate est entre 26 et 19 mars 2010)
- SELECT * from Table1 WHERE (ColumnAge est entre 25 et 40)
L'habitude < <= les opérateurs ne semblent pas fonctionner.
Merci,
Vous devez vous connecter pour publier un commentaire.
Dates sont représentés dans l'Accès entre
#
symboles dans#MM/DD/YYYY#
.Vous devriez vraiment être le stockage de la date comme un champ de date 🙂
BETWEEN
résultats incluent à la fois externe plage de valeurs. Vous devez obtenir de ces personnes âgées entre 25 et 40.Je n'utilise pas l'Accès, YMMV.
Essayez de convertir
ColumnDate
effective date/heure avecCDate
fonction. La Conversion en int qui peut être fait avecCInt
, je suppose.Je n'utilise pas Accès, c'est donc juste un bon sens suppose.
M. David-W-Fenton est juste de dire que le premier
SELECT * from Table1 WHERE ColumnDate between '2010-03-26' and '2010-03-19'
par Marcelo ne fonctionne pas, et le mal ce qui suggère la cause. La clause est incorrect en raison de guillemets autour des représentations de chaîne de dates, le format de la date est très OK. Donc je suppose queSELECT * from Table1 WHERE CDATE(ColumnDate) between #2010-03-26# and #2010-03-19#
comme une solution adéquate.