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

Comment supprimer les espaces d'une chaîne dans MySQL

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 rios.calvin@example.com
2 Alan Paterson al an.paterson@ example.com
3 Kurt Evans kurt.evans@example.com
4 Alex Watkins alex. watkins@example.com

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 rios.calvin@example.com
Alain Paterson alan.paterson@example.com
Kurt Evans kurt.evans@example.com
Alex Watkins alex.watkins@example.com

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.