Problème :
Vous souhaitez trier le résultat d'une requête SQL par ordre croissant ou décroissant.
Exemple :
Notre base de données a une table nommée customer_information
avec des données dans les colonnes id
, first_name
, last_name
, et email_address
. Les adresses e-mail ont été remplies manuellement par les utilisateurs, et certaines ont été entrées avec des espaces inutiles par accident. Vous souhaitez supprimer les espaces des adresses e-mail.
identifiant | prénom | nom_de_famille | adresse_email |
---|---|---|---|
1 | Calvin | Rios | [email protected] |
2 | Alan | Paterson | al an.paterson@ example.com |
3 | Kurt | Evans | [email protected] |
4 | Alex | Watkins | alex. [email protected] |
Solution :
Nous utiliserons le REPLACE
une fonction. Voici la requête :
SELECT first_name, last_name, REPLACE(email_address, " ", "") AS correct_email_address FROM customer_information;
Voici le résultat de la requête :
prénom | nom_de_famille | adresse_email |
---|---|---|
Calvin | Rios | [email protected] |
Alain | Paterson | [email protected] |
Kurt | Evans | [email protected] |
Alex | Watkins | [email protected] |
Discussion :
Utilisez le REPLACE
si vous souhaitez remplacer toutes les occurrences d'une sous-chaîne dans une chaîne donnée. Dans notre exemple, nous remplaçons les espaces inutiles par des valeurs vides.
Cette fonction prend trois arguments. Ce qui suit illustre la syntaxe de la fonction :
REPLACE(string_expression, substring, new_substring)
Le premier argument est la chaîne que nous aimerions modifier. Le deuxième argument est la sous-chaîne à remplacer et le troisième argument est la chaîne que nous voulons utiliser à la place de la sous-chaîne remplacée. Nous supprimons les espaces indésirables dans notre exemple, mais la fonction peut être utilisée à de nombreuses fins. Par exemple, nous pouvons vouloir nettoyer et normaliser une colonne de numéros de téléphone. Nous pouvons utiliser le REPLACE
fonction pour le faire.
Si vous souhaitez supprimer plusieurs caractères d'une chaîne donnée, imbriquez simplement le REPLACE
fonctionner une seconde fois. Par exemple, si vous avez une chaîne avec des espaces et des tirets inutiles, vous pouvez utiliser la syntaxe suivante :
REPLACE(REPLACE(string_expression, " ", ""), "-", "")
N'oubliez pas que les arguments de cette fonction dans MySQL sont sensibles à la casse, faites donc attention aux lettres.