consulta MySQL para substituir espaços em uma coluna com sublinhados
Pergunta
Eu tenho uma tabela de banco de dados MySQL 'fotos' com um 'filename' coluna. Eu preciso substituir os espaços nos valores da coluna nome de arquivo com sublinhados. É possível com uma única consulta / múltipla? Se sim, como?
Solução
Você pode usar a função REPLACE
:
REPLACE(str,from_str,to_str)
Retorna o
str
string com todos ocorrências dofrom_str
corda substituído peloto_str
string. executaREPLACE()
um caso-sensíveis corresponder ao procurar porfrom_str
.
Assim, para substituir todas as ocorrências de um personagem por outro em todas as linhas de uma tabela, algo como isso deve fazer:
update photos set filename = replace(filename, ' ', '_');
ou seja, você procurar '' no filename
coluna e uso '_' em vez; e colocar a parte de trás resultado em filename
.
Outras dicas
update photos set filename = replace(filename,' ', '_');