Effectuer une conversion dans une chaine de caractères

RPG (3 et 4, free), CL, SQL, etc...
Répondre
cimmelé
Messages : 34
Enregistré le : mer. 28 mars 2007, 21:57:59
Localisation : Rennes(35)
Contact :

Effectuer une conversion dans une chaine de caractères

Message par cimmelé »

Pour effectuer facilement une conversion dans une chaine de caractères (de minuscules en majuscules, effacer des caractères spéciaux ...) par un programme ILE ou un ordre SQL :

RPG-ILE

Remplacer des minuscules par des majuscules :

D MIN c 'abcdefghijklmnopqrstuvwxyz'
D MAJ c 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

D CAR1 c ';-.,'''
D CAR2 c ' '


/free

// De minuscules en majuscules
// -------------------------------------
àRésultat = %xlate(MIN : MAJ : àChaine) ;

// Extraire des caractères spéciaux
// -------------------------------------
àRésultat = %xlate(CAR1 : CAR2 : àChaine) ;

/end-free

SQL

select
translate(Chaine ,'ABCDEFGHIJKLMNOPQRSTUVWXYZEEEEAU' , 'abcdefghijklmnopqrstuvwxyzéèêëàù' ) as resultat
from
fichier

select
translate(Chaine ,' ' , ';-.,''' ) as Resultat
from
fichier

Note : Un caractère de Chaine non présent dans le troisième argument est restitué à l'identique. Plus d'info sur le site IBM http://publib.boulder.ibm.com/iseries/v ... /index.htm

Répondre