Opérations sur des dates

Opérations sur des dates - SQL/NoSQL - Programmation

Marsh Posté le 25-03-2003 à 10:11:34    

Bonjour!
 
J'ai un problème de date dans ma base de donnée (ACCESS97). Je traite des dates de contract d'apprentis (ex: "Du 01.07.2003 au 21.08.2007" ) Ce champs, qui contient deux dates en fait, est un champ texte. Mais maintenant j'aimerais savoir qui des apprentis est en première année, en deuxième,en troisième et en quatrième.
La je bloque complétement...
 
Je me dis qu'il faudrait que je recréer mon champ "contrat" en numérique pour que après, je puisse calculer l'année...mais bon je ne sais pas du tout comment faire.
Même pour calculer l'année...
 
Vous pouvez m'aider?????
 
Merci :jap:

Reply

Marsh Posté le 25-03-2003 à 10:11:34   

Reply

Marsh Posté le 25-03-2003 à 10:45:14    

Si tes dates sont stockées sous forme de chaines
de caractères style 15.02.2002, tu peux
faire un truc dans ce style là ...
 
SELECT madate   FROM temp1
where mid$(madate,7,4)&mid$(madate,4,2)&mid$(madate,1,2)  between '20030212' and '20030213'

Reply

Marsh Posté le 25-03-2003 à 11:07:03    

vttman2 a écrit :

SELECT madate   FROM temp1
where mid$(madate,7,4)&mid$(madate,4,2)&mid$(madate,1,2)  between '20030212' and '20030213'
 


 
tu peux expliquer le "mid$" stp?? :jap:


---------------
Le bien ou le mal, l'homme ou l'animal, on ne voit jamais l'un sans l'autre
Reply

Marsh Posté le 25-03-2003 à 13:03:35    

kamui36 a écrit :


 
tu peux expliquer le "mid$" stp?? :jap:  


 
Mid$(chaine , position de départ, longueur)
si madate contient '21.04.2003'
Mid$(madate,7,4) contiendra '2003'

Reply

Marsh Posté le 25-03-2003 à 13:19:12    

Le mieux étant de revoir plutôt la table pour stocker les dates dans des champs de type DATE (ou équivalent, je connais pas Access). Avec par ex 2 champs dateDebut et dateFin.
A partir de là il doit exister plein de fonctions permettant de faire des traitement sur ces dates (entre autre de les comparer facilement "date1 < date2" ).
Cela permet de s'affranchir du problème des chaines de caractère (si jamais elles n'ont pas toutes le même format), d'être plus propre et de gagner en rapidité (ce qui n'est peut-être pas essentiel dans ton cas).
 
Après il faut voir si ça vaut le coup de tout refaire...

Reply

Marsh Posté le 25-03-2003 à 13:39:00    

jodalton +1
 
c clair !

Reply

Marsh Posté le 26-03-2003 à 08:35:28    

jodalton a écrit :

Le mieux étant de revoir plutôt la table pour stocker les dates dans des champs de type DATE (ou équivalent, je connais pas Access). Avec par ex 2 champs dateDebut et dateFin.
A partir de là il doit exister plein de fonctions permettant de faire des traitement sur ces dates (entre autre de les comparer facilement "date1 < date2" ).
Cela permet de s'affranchir du problème des chaines de caractère (si jamais elles n'ont pas toutes le même format), d'être plus propre et de gagner en rapidité (ce qui n'est peut-être pas essentiel dans ton cas).
 
Après il faut voir si ça vaut le coup de tout refaire...


 
Tu as raison...je vais m'orienté dans ce sens...
 
Mais j'aurais encore une question: Quand on a une date (dans un format date) comme 18.05.2002, comment "couper" la date pour n'avoir que l'année (2002)???
 
Merci beaucoup!  :hello:

Reply

Marsh Posté le 26-03-2003 à 08:36:50    

oui, revois ta base de données c'est beaucoup mieux!
pour extraire l'année, je pense que c'est year(champ_date)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 26-03-2003 à 08:48:48    

Urd-sama a écrit :

oui, revois ta base de données c'est beaucoup mieux!
pour extraire l'année, je pense que c'est year(champ_date)


 
hihi....c'est bon je viens d'essayer year et ca fonctionne! J'avais déjà essayé mais je l'avais mis comme critère...^.^
Comme je suis bête! lol
 
Merci Urd!  :jap:


Message édité par gab229 le 26-03-2003 à 08:56:04
Reply

Marsh Posté le 26-03-2003 à 09:00:17    

de rien  :hello:  
a cet aprèm


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed