Bonjour à tous,
je travaille actuellement sur un projet avec Talend et je rencontre un problème avec des chaines de caractères.
J'ai une table qui est alimentée avec un select que je fais sur une autre table. Dans cette table j'ai un champ X qui contient une chaine de 29 caractères :
ISS 024 60020
Des espaces sont donc présents, à partir de ça j'utilise la fonction SUBSTR(25,5) pour ne pas récupérer ce qui m'intéresse à savoir les chiffres qui sont présents de la position 25 à la position 30 ==> 60020 dans l'exemple.
Lorsque je rencontre ce type de cas aucun problème je prends mes données et je charge ma table de destination. Seulement si le champ X ne contient que la chaine ISS (donc sans les chiffres) ma fonction SUBSTR(25,5) s'exécute quand même et j'aurais alors dans ma table destination un enregistrement du type :
' '
(avec que des espaces) ce qui me pose des soucis pour des traitements ultérieurs.
Ma question est la suivante, comment dire à Talend ne ne pas appliquer la fonction sur la chaine si il n'y as pas de chiffres (à partir de la position 25) ?
Si j'arrive à isoler ces cas je pourrais alors remplacer la chaine par "CE QUE JE VEUT" , ce que j'arrive déjà a faire quand les données dans la source sont null.
Merci pour votre aide.
Merci d'avance.
Partager