Bonjour,
Je dois alimenter en base un champ représentant une date au format YYYYMMJJ. J'extrais cette date d'un nom de fichier, en la transformant un peu, car elle est alors sous la forme YY"lettre"JJ, la "lettre" correspondant au numéro du mois.
Voilà mon expression :
Avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE matable SET date = '20'||SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 1, 2)||DECODE(SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 3, 1), A, 01, B, 02, C, 03, D, 04, E, 05, F, 06, G, 07, H, 08, I, 09, J, 10, K, 11, L, 12)||SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 4, 2);
- '20'||SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 1, 2) : concaténation de "20 " et des 2 premiers des 5 derniers caractères du nom de fichier
(représentant le "YY") ;
- DECODE(SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 3, 1), A, 01, B, 02, C, 03
, D, 04, E, 05, F, 06, G, 07, H, 08, I, 09, J, 10, K, 11, L, 12) :
transformation en numéro de mois du 3ème caractère des 5 derniers
caractères du nom de fichier (représentant la "lettre") ;
- SUBSTR(SUBSTR(nom_de_fichier, -10, 5), 4, 2) : 2 derniers caractères des
5 derniers caractères du nom de fichier (représentant le "JJ") ;
Tout ça pour dire que lorsque je lance la requête, j'ai ce message d'erreur :
Et là j'avoue, je sèche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ERREUR à la ligne 4 : ORA-00904: "L" : identificateur non valide
Any idea?
Merci d'avance.
Partager