Mysql
 sql >> Database >  >> RDS >> Mysql

Come rimuovere spazi da una stringa in MySQL

Problema:

Si desidera ordinare il risultato di una query SQL in ordine crescente o decrescente.

Esempio:

Il nostro database ha una tabella denominata customer_information con i dati nelle colonne id , first_name , last_name e email_address . Gli indirizzi e-mail sono stati compilati manualmente dagli utenti e alcuni sono stati inseriti accidentalmente con spazi non necessari. Vuoi rimuovere gli spazi dagli indirizzi email.

id nome cognome indirizzo_email
1 Calvin Rio [email protected]
2 Alan Paterson al an.paterson@ example.com
3 Kurt Evan [email protected]
4 Alex Watkin alex. [email protected]

Soluzione:

Useremo il REPLACE funzione. Ecco la domanda:

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

Ecco il risultato della query:

first_name cognome indirizzo_email
Calvin Rio [email protected]
Alan Paterson [email protected]
Kurt Evan [email protected]
Alex Watkin [email protected]

Discussione:

Usa il REPLACE funzione se si desidera sostituire tutte le occorrenze di una sottostringa in una determinata stringa. Nel nostro esempio, sostituiamo gli spazi non necessari con valori vuoti.

Questa funzione accetta tre argomenti. Di seguito viene illustrata la sintassi della funzione:

REPLACE(string_expression, substring, new_substring)

Il primo argomento è la stringa che vorremmo modificare. Il secondo argomento è la sottostringa da sostituire e il terzo argomento è la stringa che vogliamo utilizzare al posto della sottostringa sostituita. Rimuoviamo gli spazi indesiderati nel nostro esempio, ma la funzione può essere utilizzata per molti scopi. Ad esempio, potremmo voler pulire e standardizzare una colonna di numeri di telefono. Possiamo usare il REPLACE funzione per farlo.

Se vuoi rimuovere più di un carattere da una determinata stringa, nidifica semplicemente REPLACE funzionare una seconda volta. Ad esempio, se hai una stringa con spazi e trattini non necessari, puoi utilizzare la seguente sintassi:

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

Ricorda che gli argomenti di questa funzione in MySQL fanno distinzione tra maiuscole e minuscole, quindi fai attenzione con le lettere.