Requete sur une chaine de caractères

Signaler
Messages postés
81
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
15 février 2008
-
Messages postés
118
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
28 mars 2008
-
Salut

J'ai une table contenant plus de 55000 enregistrements et j'ai un champs chaine de caractères. Ce champs contient une date. Evidemment je ne peux pas la modifier. Et je voudrais faire une requete sur un interval de date.
select.... where date<'12/12/2004' and date>'12/12/2003'

mais évidemment ça ne marche pas car dans mon affichage il me retourne les dates selon les deux premiers chiffres.
Dites moi si vous la solution ou juste une idée ou si vous pensez que c'est impossible.

Merci d'avance

8 réponses

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
format([date],'yyyy-mm-dd') >= #12/12/2003# and format([date],'yyyy-mm-dd') <= #12/12/2004#
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Bonsoir,

dsl, dragon, encore une réponse trop rapide et qui ne fonctionne pas.

"select * from table1 where cdate([date]) >= #12/12/2003# and cdate([date]) <= #12/12/2004#"

ça au moins ça fonctionne et c testé.

;-))

Cordialement

CanisLupus
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
et ça plante si tes configurations de system sont pas dd/mm/yyyy puisque cdate rammète pas toujours au même format, mais au format system

pis j'avou que je me suis fourré, j'ai pas mis la date au bon format, mais c'était entre 2 job où je travail, donc je l'ai fais vite, je voulais juste donnée la piste de solution, pas la solution tout cuit dans le bec ;-)
Messages postés
81
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
15 février 2008
1
Ne vous fachez pas. j'ai oublié de préciser que ma bdd est sur SQL Srever 2000 donc aucune des deux ne marche. Par contre j'ai trouvé la bonne:
...where cast(monstring as datetime)<='12/12/04'

Merci à vous deux quand même
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
en fait, ton champ date est un champ texte et non un champ date, pour ç, ça marche pas nos code
Messages postés
81
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
15 février 2008
1
C'est pour ça que j'ai mis dans ma première demande:
"j'ai un champs chaine de caractères"
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
oups, c,est juiste quand on voit une date, c'est plus souvent qu'autrement un champ date
Messages postés
118
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
28 mars 2008

Pk il ne prend pas les bornes

format([date],'yyyy-mm-dd') > #01/01/2003#

il me sort les dates du 01/01/2003 en montant :(

meme si je mets

format([date],'yyyy-mm-dd') > #01/01/2003# and format([date],'yyyy-mm-dd') <> #01/01/2003#

il me sort les dates du 01/01/2003 en montant :(

Mon champs dans ma base est de type date abrégé ... il n'y a aucune secondes ...

??!?!?!
Merci

Nightcourrier