FirebirdSQL logo

REPLACE()

Disponible en

DSQL, PSQL

Syntaxe
REPLACE (str, find, repl)
Table 1. paramètres de fonction REPLACE
Paramètre Description

str

La ligne dans laquelle le remplacement est effectué.

find

La chaîne de caractères qui fait l’objet de la recherche.

repl

La ligne sur laquelle s’effectue le remplacement.

Le type de résultat renvoyé :

VARCHAR ou BLOB

La fonction REPLACE remplace toutes les occurrences d’une chaîne par une autre.

Caractéristiques d’utilisation :

  • La fonction prend en charge les blocs de texte de n’importe quelle longueur et avec n’importe quel jeu de caractères ;

  • Si l’un des arguments est de type BLOB, le résultat sera de type BLOB. Sinon, le résultat sera de type VARCHAR(N), où N est calculé à partir des longueurs de str, find et repl de telle sorte que même le nombre maximal de substitutions ne provoquera pas de dépassement de champ.

  • Si le paramètre find est une chaîne vide, str est retourné inchangé ;

  • Si le paramètre repl est une chaîne vide, toutes les occurrences de find sont supprimées de la chaîne str ;

  • Si l’un des arguments est NULL, le résultat est toujours NULL, même si aucune substitution n’a été faite.

Warning

Lorsque vous utilisez BLOB dans les paramètres d’une fonction, il peut être nécessaire de charger l’objet entier en mémoire. Avec de grandes quantités de BLOB, il peut y avoir des pertes de performance.

Exemple REPLACE

Example 1. Utilisation de la fonction REPLACE
REPLACE ('Billy Wilder', 'il', 'oog')  -- retourne 'Boogly Woogder'
REPLACE ('Billy Wilder', 'il', '')     -- retourne 'Bly Wder'
REPLACE ('Billy Wilder', null, 'oog')  -- retourne NULL
REPLACE ('Billy Wilder', 'il', null)   -- retourne NULL
REPLACE ('Billy Wilder', 'xyz', null)  -- retourne NULL (!)
REPLACE ('Billy Wilder', 'xyz', 'abc') -- retourne 'Billy Wilder'
REPLACE ('Billy Wilder', '', 'abc')    -- retourne 'Billy Wilder'