[mysql] MySql-문자열 부분을 업데이트하는 방법?

MySQL 쿼리를 통해 문자열의 일부만 업데이트하는 방법을 찾고 있습니다.

예를 들어 필드 값의 일부로 ‘string’을 포함하는 10 개의 레코드가있는 경우 (예 : ‘something / string’, ‘something / stringlookhere’, ‘something / string / etcetera’, ‘string’을 변경할 수있는 방법이 있습니까? ‘하나의 쿼리를 통해 각 행에 대해’anothervalue ‘로, 결과가’something / anothervalue ‘,’something / anothervaluelookhere ‘,’something / string / etcetera ‘가되도록’anothervalue ‘를 변경할 수있는 방법이 있습니까?



답변

나는 이것이 효과가 있다고 생각한다.

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


답변

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


답변

LIKE연산자를 사용하여 관심있는 행을 찾고 REPLACE함수를 사용하여 업데이트하십시오 .

예를 들면 :

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


답변

이와 같은 것이 어떤 식 으로든 작동합니까?

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


답변