Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1787 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Opérations sur des dates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Opérations sur des dates

n°342270
gab229
Posté le 25-03-2003 à 10:11:34  profilanswer
 

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:

mood
Publicité
Posté le 25-03-2003 à 10:11:34  profilanswer
 

n°342314
vttman2
Je suis Open ...
Posté le 25-03-2003 à 10:45:14  profilanswer
 

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'

n°342340
kamui36
Posté le 25-03-2003 à 11:07:03  profilanswer
 

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
n°342440
vttman2
Je suis Open ...
Posté le 25-03-2003 à 13:03:35  profilanswer
 

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'

n°342454
jodalton
Posté le 25-03-2003 à 13:19:12  profilanswer
 

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...

n°342479
vttman2
Je suis Open ...
Posté le 25-03-2003 à 13:39:00  profilanswer
 

jodalton +1
 
c clair !

n°343373
gab229
Posté le 26-03-2003 à 08:35:28  profilanswer
 

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:

n°343374
urd-sama
waste of space
Posté le 26-03-2003 à 08:36:50  profilanswer
 

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 :.
n°343375
gab229
Posté le 26-03-2003 à 08:48:48  profilanswer
 

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
n°343382
urd-sama
waste of space
Posté le 26-03-2003 à 09:00:17  profilanswer
 

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 :.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Opérations sur des dates

 

Sujets relatifs
[SQL] Requete spéciale avec des dates[PHP] mysql / php -> formats de dates
Comparaison entre deux dates ?[Java3D] Opérations booléennes
[PHP] Calculer le nombre de jours entre deux dates ? [résolu][C#] Opérations entre forms
Comparaison de dates JavaScript et Access.... HELP !!!!Questions sur les Dates PHP ( - assez urgent - )
Manipulation des dates en visual C++help PHP sur les dates ?
Plus de sujets relatifs à : Opérations sur des dates


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR