Convertion lettre en numerik

Fermé
camantoi - 10 sept. 2011 à 15:39
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 13 sept. 2011 à 09:59
Bonjour,


Je dois créer une table avec deux colonnes (sous sql +).
1ere colonne varchar(20) avec comme données le mois + année sous forme 'JANVIER 2011'
La seconde colonne doit convertir cette 1ere colonne en numerique '201101'. Et ainsi traduire tous les mois de l'année....201102,201103......
Mais je ne sais pas comment faire. Quelqu'un sait???
A voir également:

3 réponses

jee pee Messages postés 40584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 décembre 2024 9 460
10 sept. 2011 à 19:29
Salut,

Quel est ton sgbd ? Car le traitement des chaines de caractères est particulier pour chaque logiciel et chaque sql.

cdlt
0
salut,
je travaille sous oracle.

merci

crdt
0
jee pee Messages postés 40584 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 décembre 2024 9 460
Modifié par jee pee le 11/09/2011 à 15:38
Tu as de la chance c'est celui que je connais.

Alors il faut que tu étudies les fonctions decode, substr, et instr

Voila pour le mois :

select decode(substr(champ1,1,instr(champ1,' ')-1), 'JANVIER','01', 'FEVRIER','02', ... , '00')     
from table1;

C'est plus simple pour l'année pas besoin du decode, je te laisse le faire ;-)
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
11 sept. 2011 à 20:10
Bonsoir camantoi,

A toutes fins utiles, l'équivalent sous SQL/Access

SELECT TRANSACTIONS.DateSaisie, DatePart("yyyy",[Datesaisie]) & Format([datesaisie],"mm") AS EXTRACTION
FROM TRANSACTIONS
ORDER BY TRANSACTIONS.DateSaisie;

Cordialement
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
13 sept. 2011 à 09:59
Bonjour
Dans un requete access:

SELECT date.DateEntrée, Format([DateEntrée],"ddmmyyyy") AS [Date]
FROM [date];

Ceci transforme une date traditionnelle en 13092011
pour avoir 201109, tu dois uilisé le format comme ceci: yyyymm
0