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é |