source

열 값을 업데이트하여 문자열의 일부를 바꿉니다.

factcode 2022. 9. 30. 11:02
반응형

열 값을 업데이트하여 문자열의 일부를 바꿉니다.

MySQL 데이터베이스에 다음 열이 있는 테이블이 있습니다.

[id, url]

URL은 다음과 같습니다.

 http://domain1.example/images/img1.jpg

모든 URL을 다른 도메인으로 업데이트하고 싶다

 http://domain2.example/otherfolder/img1.jpg

파일 이름을 그대로 유지합니다.

어떤 쿼리를 실행해야 합니까?

UPDATE urls
SET url = REPLACE(url, 'domain1.example/images/', 'domain2.example/otherfolder/')
UPDATE yourtable
SET url = REPLACE(url, 'http://domain1.example/images/', 'http://domain2.example/otherfolder/')
WHERE url LIKE ('http://domain1.example/images/%');

관련 문서: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace

REPLACE 기능을 사용해 보겠습니다.

mysql> SELECT REPLACE('www.example.com', 'w', 'Ww');
        -> 'WwWwWw.example.com'

대소문자를 구분합니다.

이거 드셔보세요.

update [table_name] set [field_name] = 
replace([field_name],'[string_to_find]','[string_to_replace]');

모든 레코드가 아닌 WHERE 절의 조건을 준수하는 레코드만 바꾸려면 WHERE 절이 필요합니다.부분 문자열인 I.E.를 나타내려면 % 기호를 사용합니다.

LIKE ('...//example.com/images/%');

로 시작하는 모든 레코드를 의미합니다."...//example.com/images/"그 후 아무것도 가질 수 없다(그게 바로%~에 대해서)

또 다른 예는 다음과 같습니다.

LIKE ('%http://example.com/images/%')

그 말은 모든 기록에는"http://example.com/images/"

줄의 어느 부분에서든...

먼저 확인해야 합니다.

SELECT * FROM `university` WHERE course_name LIKE '%&amp%'

다음으로 업데이트해야 합니다.

UPDATE university
SET course_name = REPLACE(course_name, '&amp', '&') WHERE id = 1

결과: 엔지니어링 &amp 테크놀로지 => 엔지니어링 & 테크놀로지

언급URL : https://stackoverflow.com/questions/10177208/update-a-column-value-replacing-part-of-a-string

반응형