Actualizar un valor de columna, reemplazando parte de una cadena

Resuelto Addev asked hace 12 años • 6 respuestas

Tengo una tabla con las siguientes columnas en una base de datos MySQL

[id, url]

Y las URL son como:

 http://domain1.example/images/img1.jpg

Quiero actualizar todas las URL a otro dominio.

 http://domain2.example/otherfolder/img1.jpg

manteniendo el nombre del archivo como está.

¿Cuál es la consulta que debo ejecutar?

Addev avatar Apr 16 '12 22:04 Addev
Aceptado
UPDATE urls
SET url = REPLACE(url, 'domain1.example/images/', 'domain2.example/otherfolder/')
Dmytro Shevchenko avatar Apr 16 '2012 15:04 Dmytro Shevchenko
UPDATE yourtable
SET url = REPLACE(url, 'http://domain1.example/images/', 'http://domain2.example/otherfolder/')
WHERE url LIKE ('http://domain1.example/images/%');

documentos relevantes: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace

Marc B avatar Apr 16 '2012 15:04 Marc B

Intente utilizar la función REEMPLAZAR :

mysql> SELECT REPLACE('www.example.com', 'w', 'Ww');
        -> 'WwWwWw.example.com'

Tenga en cuenta que distingue entre mayúsculas y minúsculas.

schellack avatar Apr 16 '2012 15:04 schellack

Prueba esto...

update [table_name] set [field_name] = 
replace([field_name],'[string_to_find]','[string_to_replace]');
ManiMaran A avatar Jul 11 '2018 01:07 ManiMaran A