replace에 대한 상세한 내용은 아래 블로그를 참조
- replace(대상컬럼명[혹은 대상문자], 찾는문자, 바꿀문자)
- https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_replace
select + replace
샘플 쿼리)
SELECT url, REPLACE(url , "foo=가","bar=가")
FROM sample;
----
http://www.sample.com?foo=가&id=2
http://www.sample.com?bar=가&id=2
update + replace + case
샘플 쿼리)
UPDATE sample Set
url =
CASE
WHEN url LIKE '%foo=가%' THEN REPLACE(url , "foo=가","bar=가")
WHEN url LIKE '%foo=나%' THEN REPLACE(url , "foo=나","bar=나")
WHEN url LIKE '%foo=다%' THEN REPLACE(url , "foo=하","bar=하")
ELSE
url
END,
editor = '샘플수정자'
WHERE site = 1 AND reg_date BETWEEN '2017-03-30 20:00:00' AND '2017-03-30 21:00:00';
----
ELSE문의 url이 핵심
- CASE에 맞지 않는 url이 있다면 원본 데이터를 그대로 UPDATE
(물론 조건으로 UPDATE를 원하지 않는 것들을 Filter할 수 있으면 하는게 좋음)
'MySQL' 카테고리의 다른 글
[MySQL] 쿼리 Process 확인하고 죽이기 (0) | 2016.10.29 |
---|---|
[MySQL] 테이블의 용량 확인하기 (1) | 2016.10.04 |
[MySQL] 테이블을 지우지도 만들지도 못할 때.. 테이블만이라도 복구하기 (1) | 2016.08.31 |
[MySQL] 두개의 컬럼을 IN 절로 비교하기 (0) | 2016.08.30 |
Trim 함수를 써서 공백을 모두 제거하기 (0) | 2016.08.11 |