MySQL Replace String Function

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:

REPLACE(str,old_string,new_string);
Code language: SQL (Structured Query Language) (sql)

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:

UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Code language: SQL (Structured Query Language) (sql)

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:

UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
Code language: SQL (Structured Query Language) (sql)

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *