MySql - Maneira de atualizar parte de uma string?

103

Estou procurando uma maneira de atualizar apenas uma parte de uma string por meio de consulta MySQL.

Por exemplo, se eu tiver 10 registros, todos contendo 'string' como parte do valor do campo (ou seja, 'algo / string', 'alguma coisa / stringlookaqui', 'alguma coisa / string / etcetera', há uma maneira de alterar 'string 'para' outro valor 'para cada linha por meio de uma consulta, de modo que o resultado seja' algo / outro valor ',' alguma coisa / outro valor aqui ',' algo / string / etcetera ', há uma maneira de alterar' outro valor '

n00b0101
fonte

Respostas:

231

Eu acho que isso deve funcionar:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
Kaleb Brasee
fonte
26
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
Tatu Ulmanen
fonte
14

Use o LIKEoperador para encontrar as linhas de seu interesse e atualize-as usando a REPLACEfunção.

Por exemplo:

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

Algo assim funciona de alguma forma?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Lukas
fonte