n00b0101
n00b0101

Reputation: 6893

MySql - Way to update portion of a string?

I'm looking for a way to update just a portion of a string via MySQL query.

For example, if I have 10 records all containing string as part of the field value, is there a way to change string to anothervalue for each row via one query?

I.e. for the following:

Change something/string, something/stringlookhere, something/string/etcetera to something/anothervalue, something/anothervaluelookhere, something/string/etcetera

Upvotes: 115

Views: 91731

Answers (3)

Kaleb Brasee
Kaleb Brasee

Reputation: 51965

I think this should work:

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

Upvotes: 262

Bernard Chen
Bernard Chen

Reputation: 6567

Use the LIKE operator to find the rows that you care about and update them using the REPLACE function.

For example:

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

Upvotes: 14

Tatu Ulmanen
Tatu Ulmanen

Reputation: 124878

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

Upvotes: 27

Related Questions