Database
 sql >> Base de données >  >> RDS >> Database

Comment remplacer une partie d'une chaîne en SQL

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é