J'ai une table de base de données MySQL 'photos' avec une colonne 'nom de fichier'. Je dois remplacer les espaces dans les valeurs de colonne de nom de fichier par des traits de soulignement. Est-ce possible avec une requête simple/multiple? Si c'est le cas, comment?Requête MySQL pour remplacer les espaces dans une colonne par des traits de soulignement
17
A
Répondre
41
Vous pouvez utiliser la fonction REPLACE
:
REPLACE(str,from_str,to_str)
Renvoie la chaîne
str
avec toutes occurrences de la chaînefrom_str
remplacée par la chaîneto_str
.REPLACE()
effectue une correspondance sensible à la casse lors de la recherche defrom_str
.
Ainsi, pour remplacer toutes les occurences d'un caractère par un autre dans toutes les lignes d'une table, quelque chose comme cela devrait faire:
update photos set filename = replace(filename, ' ', '_');
-à-dire, vous effectuez une recherche pour « » dans la colonne filename
et utilisez '_' à la place; et remettez le résultat dans filename
.
6
update photos set filename = replace(filename,' ', '_');