Запрос MySQL для замены пробелов в столбце символами подчеркивания
Вопрос
У меня есть таблица базы данных MySQL "фотографии" со столбцом "имя файла".Мне нужно заменить пробелы в значениях столбца filename символами подчеркивания.Возможно ли это с помощью одного / нескольких запросов?Если да, то каким образом?
Решение
Вы можете использовать REPLACE
функция :
REPLACE(str,from_str,to_str)
Возвращает строку
str
со всеми вхождениями строкиfrom_str
заменяется строкойto_str
.REPLACE()
выполняет сопоставление с учетом регистра при поискеfrom_str
.
Итак, чтобы заменить все вхождения символа на другой во всех строках таблицы, должно выполняться что-то вроде этого :
update photos set filename = replace(filename, ' ', '_');
т.е. вы ищете ' ' в столбце filename
и используйте вместо этого '_' ;и поместите результат обратно в filename
.
Другие советы
update photos set filename = replace(filename,' ', '_');