Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So entfernen Sie Leerzeichen aus einer Zeichenfolge in MySQL

Problem:

Sie möchten das Ergebnis einer SQL-Abfrage aufsteigend oder absteigend sortieren.

Beispiel:

Unsere Datenbank hat eine Tabelle namens customer_information mit Daten in den Spalten id , first_name , last_name , und email_address . Die E-Mail-Adressen wurden von den Benutzern manuell ausgefüllt, und einige wurden versehentlich mit unnötigen Leerzeichen eingegeben. Sie möchten die Leerzeichen aus den E-Mail-Adressen entfernen.

id Vorname Nachname E-Mail-Adresse
1 Calvin Rios [email protected]
2 Alan Paterson al [email protected]
3 Kurt Evans [email protected]
4 Alex Watkins Alex. [email protected]

Lösung:

Wir werden den REPLACE verwenden Funktion. Hier ist die Abfrage:

	SELECT
		first_name,
		last_name,
		REPLACE(email_address, " ", "") AS correct_email_address
	FROM customer_information;

Hier ist das Ergebnis der Abfrage:

Vorname Nachname E-Mail-Adresse
Calvin Rios [email protected]
Alan Paterson [email protected]
Kurt Evans [email protected]
Alex Watkins [email protected]

Diskussion:

Verwenden Sie den REPLACE -Funktion, wenn Sie alle Vorkommen einer Teilzeichenfolge in einer bestimmten Zeichenfolge ersetzen möchten. In unserem Beispiel ersetzen wir unnötige Leerzeichen durch leere Werte.

Diese Funktion benötigt drei Argumente. Das Folgende veranschaulicht die Syntax der Funktion:

REPLACE(string_expression, substring, new_substring)

Das erste Argument ist die Zeichenfolge, die wir ändern möchten. Das zweite Argument ist die zu ersetzende Teilzeichenfolge, und das dritte Argument ist die Zeichenfolge, die wir anstelle der ersetzten Teilzeichenfolge verwenden möchten. Wir entfernen die unerwünschten Leerzeichen in unserem Beispiel, aber die Funktion kann für viele Zwecke verwendet werden. Beispielsweise möchten wir möglicherweise eine Spalte mit Telefonnummern bereinigen und standardisieren. Wir können den REPLACE verwenden Funktion dazu.

Wenn Sie mehr als ein Zeichen aus einer bestimmten Zeichenfolge entfernen möchten, verschachteln Sie einfach REPLACE ein zweites Mal funktionieren. Wenn Sie beispielsweise eine Zeichenfolge mit unnötigen Leerzeichen und Bindestrichen haben, können Sie die folgende Syntax verwenden:

	REPLACE(REPLACE(string_expression, " ", ""), "-", "")

Denken Sie daran, dass bei den Argumenten dieser Funktion in MySQL zwischen Groß- und Kleinschreibung unterschieden wird, seien Sie also vorsichtig mit den Buchstaben.