Problème :
Vous souhaitez remplacer une partie d'une chaîne par une autre chaîne.
Exemple :
Notre base de données a une table nommée investor avec des données dans les colonnes suivantes :id , company , et phone .
| identifiant | entreprise | téléphone |
|---|---|---|
| 1 | Grand marché | 123–300-400 |
| 3 | Le restaurant ensoleillé | 123–222-456 |
| 4 | Ma banque | 123-345-400 |
Nous aimerions changer le format du numéro de téléphone pour chaque entreprise en remplaçant le trait d'union par un espace.
Solution :
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
La requête renvoie une liste de numéros de téléphone avec des espaces au lieu de tirets comme séparateurs :
| nouveau_téléphone |
|---|
| 123 300 400 |
| 123 222 456 |
| 123 345 400 |
Discussion :
Si vous souhaitez remplacer une sous-chaîne par une autre chaîne, utilisez simplement le REPLACE une fonction. Cette fonction prend trois arguments :
- La chaîne à modifier (qui dans notre cas était une colonne).
- La sous-chaîne à remplacer.
- La chaîne par laquelle remplacer la sous-chaîne spécifiée.
Dans l'exemple suivant, nous remplaçons l'adjectif 'Big' dans le company colonne avec 'Petit'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Cette requête affiche le nouveau nom de la société pour l'investisseur avec id = 1 .
| nouvelle_entreprise |
|---|
| Petit marché |