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 '

Jawaban:


231

Saya pikir ini seharusnya berhasil:

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

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

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%'

0

Apakah sesuatu seperti ini berhasil?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.