Résumé : dans ce tutoriel, nous allons vous montrer comment utiliser la fonction MySQL REPLACE string pour remplacer une sous-chaîne par une autre dans une chaîne de caractères.
Introduction à la fonction chaîne REPLACE de MySQL
MySQL vous fournit une fonction chaîne utile appelée REPLACE
qui vous permet de remplacer une chaîne dans une colonne d’une table par une nouvelle chaîne.
La syntaxe de la fonction REPLACE
est la suivante :
Code language: SQL (Structured Query Language) (sql)REPLACE(str,old_string,new_string);
La fonction REPLACE
possède trois paramètres. Elle remplace le old_string
par le new_string
dans le string
Notez qu’il existe une instruction également appelée REPLACE utilisée pour insérer ou mettre à jour des données. Il ne faut pas confondre l’instruction REPLACE
avec la fonction REPLACE
string.
La fonction REPLACE
est très pratique pour rechercher et remplacer du texte dans un tableau, par exemple pour mettre à jour une URL obsolète, corriger une faute d’orthographe, etc.
La syntaxe d’utilisation de la fonction REPLACE
dans une instruction UPDATE est la suivante :
Code language: SQL (Structured Query Language) (sql)UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Notez que lors de la recherche du texte à remplacer, MySQL utilise la correspondance sensible à la casse pour effectuer une recherche de la chaîne à remplacer.
Exemple de la fonction MySQL REPLACE string
Par exemple, si vous souhaitez corriger la faute d’orthographe dans la table products
de la base de données exemple, vous utilisez la fonction REPLACE
comme suit :
Code language: SQL (Structured Query Language) (sql)UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
La requête trouve toutes les occurrences d’une faute d’orthographe abuot
et la remplace par le mot correct about dans la colonne productDescription
de la table products
.
Il est très important de noter que dans la fonction REPLACE
, le premier paramètre est le nom de la colonne sans les guillemets (« ). Si vous mettez les guillemets au nom du champ comme « nom_champ », la requête mettra à jour le contenu de cette colonne en « nom_champ », ce qui entraîne une perte de données inattendue.
La fonction REPLACE
ne prend pas en charge les expressions régulières, donc si vous avez besoin de remplacer une chaîne de texte par un motif, vous devez utiliser la fonction définie par l’utilisateur (UDF) de MySQL à partir d’une bibliothèque externe, consultez-la ici MySQL UDF with Regex
- Ce tutoriel a-t-il été utile ?
- OuiNon
.