fr en

REPLACE

Remplacer une chaîne de caractères par une autre

Fonction :

La fonction scalaire SQL : REPLACE permet de remplacer une chaine de caractères par une autre dans une autre chaîne de caractères donnée.

Syntaxe :

L’instruction REPLACE dispose de 3 paramètres : 

  • La chaine à modifier ou le champ contenant la chaine à modifier.
    C’est cette chaine qui sera analysée, modifiée, puis retournée par la fonction REPLACE.

  • La chaine à remplacer ou le champ contenant la chaine à remplacer.
    C’est la chaine de caractères à rechercher et à remplacer dans la chaine à modifier.

  • La chaine de remplacement.
    C’est la chaine de caractères qui remplacera la chaine chaine à remplacer.
    Ce paramètre est facultatif et s’il n’est pas utilisé la fonction ne modifiera pas la chaine à modifier.

REPLACE(chaine à modifier,  chaine à remplacer, chaine de remplacement)

Exemples :

Exemple 1 :

SELECT REPLACE(LA BOITE A OUTIOUTIOUT-iFROM SYSIBM.SYSDUMMY1;

Retourne ‘LA BOITE A OUT-i‘ alors que la valeur initiale était ‘LA BOITE A OUTI‘.
OUTI‘ a bien été remplacé par ‘OUT-i‘.

Exemple 2 :

Exemple avec des champs lus dans un table.
On utilise une CTE (COMMON TABLE EXPRESSIONS) pour créer le jeu de test.

WITH CTE_REPLACE AS
(   
    SELECT ‘LA BOITE A OUT-I’          AS CHAINE_A_MODIFIER
                 ‘OUT-I’                             AS CHAINE_A_REMPLACER
                 ‘IBM-i’                              AS CHAINE_DE_REMPLACEMENT 
      FROM SYSIBM.SYSDUMMY1
)
SELECT CHAINE_A_MODIFIER
       CHAINE_A_REMPLACER
       CHAINE_DE_REMPLACEMENT
       REPLACE(CHAINE_A_MODIFIER, CHAINE_A_REMPLACER, CHAINE_DE_REMPLACEMENT) AS RESULTAT_REPLACE
FROM CTE_REPLACE;

Résultats : 
CHAINE_A_MODIFIER                 LA BOITE A OUT-I
CHAINE_A_REMPLACER             OUT-I
CHAINE_DE_REMPLACEMENT   IBM-i
RESULTAT_REPLACE                    LA BOITE A IBM-i

Exemple 3 :

Exemple avec des champs lus dans un table.
On utilise une CTE (COMMON TABLE EXPRESSIONS) pour créer le jeu de test.

WITH CTE_REPLACE AS
(   
    SELECT ‘LA BOITE A OUT-I’   AS CHAINE_A_MODIFIER
                 ‘A’                             AS CHAINE_A_REMPLACER
                 ‘@’                            AS CHAINE_DE_REMPLACEMENT 
      FROM SYSIBM.SYSDUMMY1
)
SELECT CHAINE_A_MODIFIER
       CHAINE_A_REMPLACER
       CHAINE_DE_REMPLACEMENT
       REPLACE(CHAINE_A_MODIFIER, CHAINE_A_REMPLACER, CHAINE_DE_REMPLACEMENT) AS RESULTAT_REPLACE
FROM CTE_REPLACE;

Résultats : 
CHAINE_A_MODIFIER                 LA BOITE A OUT-I
CHAINE_A_REMPLACER             A
CHAINE_DE_REMPLACEMENT   @
RESULTAT_REPLACE                    L@ BOITE @ OUT-i