Convertion lettre en numerik

camantoi -  
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   -
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 41553 Date d'inscription   Statut Modérateur Dernière intervention   9 725
 
Salut,

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

cdlt
0
camantoi
 
salut,
je travaille sous oracle.

merci

crdt
0
jee pee Messages postés 41553 Date d'inscription   Statut Modérateur Dernière intervention   9 725
 
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   Statut Membre Dernière intervention   112
 
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   Statut Membre Dernière intervention   217
 
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