Ho una tabella di database MySQL 'foto' con una colonna 'nome file'. Ho bisogno di sostituire gli spazi nei valori della colonna nome file con caratteri di sottolineatura. È possibile con una query singola/multipla? Se é cosi, come?Query MySQL per sostituire gli spazi in una colonna con caratteri di sottolineatura
17
A
risposta
41
È possibile utilizzare la funzione REPLACE
:
REPLACE(str,from_str,to_str)
Restituisce la stringa
str
con tutti le occorrenze della stringafrom_str
sostituiti dalla stringato_str
.REPLACE()
esegue una corrispondenza con distinzione tra maiuscole e minuscole durante la ricerca difrom_str
.
Così, per sostituire tutte le occorrenze di un carattere da un altro in tutte le linee di una tabella, qualcosa di simile dovrebbe fare:
update photos set filename = replace(filename, ' ', '_');
cioè, si cerca '' nella colonna filename
e usa invece "_"; e riporta il risultato in filename
.
6
update photos set filename = replace(filename,' ', '_');