Summario: in questo tutorial, vi mostreremo come usare la funzione MySQL REPLACE string per sostituire una sottostringa con un’altra in una stringa.
Introduzione alla funzione MySQL REPLACE
MySQL fornisce un’utile funzione di stringa chiamata REPLACE
che permette di sostituire una stringa in una colonna di una tabella con una nuova stringa.
La sintassi della funzione REPLACE
è la seguente:
Code language: SQL (Structured Query Language) (sql)REPLACE(str,old_string,new_string);
La funzione REPLACE
ha tre parametri. Sostituisce il old_string
con il new_string
nel string
Nota che c’è una dichiarazione chiamata anche REPLACE usata per inserire o aggiornare dati. Non bisogna confondere l’istruzione REPLACE
con la funzione REPLACE
stringa.
La funzione REPLACE
è molto utile per cercare e sostituire del testo in una tabella come l’aggiornamento di URL obsoleti, la correzione di un errore di ortografia, ecc.
La sintassi dell’uso della funzione REPLACE
in una dichiarazione UPDATE è la seguente:
Code language: SQL (Structured Query Language) (sql)UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Nota che quando si cerca del testo da sostituire, MySQL usa la corrispondenza sensibile alle maiuscole per eseguire una ricerca della stringa da sostituire.
MySQL REPLACE string function example
Per esempio, se volete correggere l’errore di ortografia nella tabella products
nel database di esempio, usate la funzione REPLACE
come segue:
Code language: SQL (Structured Query Language) (sql)UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
La query trova tutte le occorrenze di un errore ortografico abuot
e lo sostituisce con la parola corretta about nella colonna productDescription
della tabella products
.
È molto importante notare che nella funzione REPLACE
, il primo parametro è il nome della colonna senza virgolette (“). Se si mettono le virgolette al nome del campo come “nome_campo”, la query aggiornerà il contenuto di quella colonna a “nome_campo”, causando una perdita di dati inaspettata.
La funzione REPLACE
non supporta le espressioni regolari quindi se hai bisogno di sostituire una stringa di testo con un pattern devi usare la funzione definita dall’utente di MySQL (UDF) da una libreria esterna, controlla qui MySQL UDF con Regex
- Questo tutorial è stato utile?
- SìNo