Requete sur une chaine de caractères

cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 - 28 juin 2004 à 16:44
Nightcourrier Messages postés 118 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 28 mars 2008 - 26 janv. 2005 à 23:27
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

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
28 juin 2004 à 17:38
format([date],'yyyy-mm-dd') >= #12/12/2003# and format([date],'yyyy-mm-dd') <= #12/12/2004#
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
28 juin 2004 à 22:41
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
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
29 juin 2004 à 00:03
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 ;-)
0
cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
29 juin 2004 à 11:44
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
29 juin 2004 à 13:12
en fait, ton champ date est un champ texte et non un champ date, pour ç, ça marche pas nos code
0
cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 1
29 juin 2004 à 14:49
C'est pour ça que j'ai mis dans ma première demande:
"j'ai un champs chaine de caractères"
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
29 juin 2004 à 15:30
oups, c,est juiste quand on voit une date, c'est plus souvent qu'autrement un champ date
0
Nightcourrier Messages postés 118 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 28 mars 2008
26 janv. 2005 à 23:27
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
0