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