MySql: ¿forma de actualizar parte de una cadena?


103

Estoy buscando una forma de actualizar solo una parte de una cadena a través de una consulta MySQL.

Por ejemplo, si tengo 10 registros que contienen 'cadena' como parte del valor del campo (es decir, 'algo / cadena', 'algo / cadena busca aquí', 'algo / cadena / etcétera', ¿hay alguna manera de cambiar 'cadena 'a' otro valor 'para cada fila a través de una consulta, de modo que el resultado sea' algo / otro valor ',' algo / otro valor aquí ',' algo / cadena / etcétera ', hay alguna manera de cambiar' otro valor '

Respuestas:


231

Creo que esto debería funcionar:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';

26
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')

14

Use el LIKEoperador para encontrar las filas que le interesan y actualícelas usando la REPLACEfunción.

Por ejemplo:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'

0

¿Algo como esto funciona de alguna manera?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.