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