MySql - Bagaimana cara memperbarui bagian string?

103

Saya mencari cara untuk mengupdate hanya sebagian dari string melalui kueri MySQL.

Misalnya, jika saya memiliki 10 catatan yang semuanya berisi 'string' sebagai bagian dari nilai bidang (yaitu, 'sesuatu / string', 'sesuatu / stringlookhere', 'sesuatu / string / dll.', Apakah ada cara untuk mengubah 'string 'to' anothervalue 'untuk setiap baris melalui satu query, sehingga hasilnya adalah' something / anothervalue ',' something / anothervaluelookhere ',' something / string / etcetera ', adakah cara untuk mengubah' anothervalue '

n00b0101
sumber

Jawaban:

231

Saya pikir ini seharusnya berhasil:

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

Gunakan LIKEoperator untuk menemukan baris yang Anda pedulikan dan memperbaruinya menggunakan REPLACEfungsi.

Sebagai contoh:

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

Apakah sesuatu seperti ini berhasil?

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