Bonjour a tous,
J'ai un prblème de sql sous oracle et je ne sais pas si on peut vrailment le résoudre: j'ai dans ma table un champs string qui peut contenir différents types d'info: si la chaine fait 19 ou 20 caractères je voudrais la décomposer pour en extraire plein d'info qui sont regroupé:
du premier au septième caractère du 8ème au 10ème...
j'ai pensé faire un case when mais je ne peut apparament en faire qu'un seul, si j'en fait plusieurs il me renvoit une erreur =>: FROM keyword not found where expected après le premier case.
la structure de ma requète est la suivante :
Quelqu'un sait-il si on peut-faire plusieur case dans un seul et même select?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 select maTable.MonChamps...., Case when length(maChaine) between 19 and 20 then substr(monChamp, 1,7) else ' ' end as 'colonne X' Case when length(maChaine) between 19 and 20 then substr(monChamp, 8,2) else ' ' end as 'colonne y' From maTable where ....;
merci d'avance pour votre aide.
Partager