Catégories :

Fonctions de chaîne et fonctions binaires (Correspondance/Comparaison)

REPLACE

Supprime toutes les occurrences d’une sous-chaîne spécifiée, et les remplace éventuellement par une autre chaîne.

Syntaxe

REPLACE( <subject> , <pattern> [ , <replacement> ] )

Arguments

sujet

Le sujet est la chaîne dans laquelle effectuer les remplacements. En règle générale, il s’agit d’une colonne, mais il peut s’agir d’un littéral.

motif

C’est la sous-chaîne que vous souhaitez remplacer. En règle générale, il s’agit d’un littéral, mais il peut s’agir d’une colonne ou d’une expression. Notez que ce n’est pas une « expression régulière » ; si vous souhaitez utiliser des expressions régulières pour rechercher un modèle, utilisez la fonction REGEXP_REPLACE .

remplacement

Il s’agit de la valeur utilisée en remplacement du modèle . Si ceci est omis ou s’il s’agit d’une chaîne vide, la fonction REPLACE supprime simplement toutes les occurrences du modèle .

Renvoie

La valeur renvoyée est la chaîne une fois tous les remplacements terminés.

Notes sur l’utilisation

  • Si remplacement n’est pas spécifié, sujet est renvoyé avec toutes les occurrences de modèle supprimées.

  • Si remplacement est spécifié, sujet est renvoyé avec toutes les occurrences de modèle remplacées par remplacement.

  • Si l’un des arguments est un NULL, le résultat est également un NULL.

Note

Seules les occurrences dans le sujet d’origine sont prises en compte. Un modèle apparaissant dans le résultat n’est pas supprimé/remplacé.

Détails du classement

Arguments with collation specifications are currently not supported.

Exemples

Remplacez la chaîne bc dans abcd par une chaîne vide :

SELECT REPLACE('abcd', 'bc') FROM DUAL;

+-----------------------+
| REPLACE('ABCD', 'BC') |
|-----------------------|
| ad                    |
+-----------------------+

Remplacez les chaînes d’une valeur par un remplacement spécifié :

CREATE OR REPLACE TABLE replace_example(subject varchar(10), pattern varchar(10), replacement varchar(10));
INSERT INTO replace_example VALUES('snowman', 'snow', 'fire'), ('sad face', 'sad', 'happy');

SELECT subject, pattern, replacement, REPLACE(subject, pattern, replacement) AS new FROM replace_example;

+----------+---------+-------------+------------+
| SUBJECT  | PATTERN | REPLACEMENT | NEW        |
|----------+---------+-------------+------------|
| snowman  | snow    | fire        | fireman    |
| sad face | sad     | happy       | happy face |
+----------+---------+-------------+------------+