PostgreSQL 데이터 일괄 치환하기 (지역명 바꾸기)

CloudJun·2021년 4월 12일
0
post-thumbnail

개요

address 테이블을 열어보니 경남과 경상남도가 이리저리 뒤섞여있는 데이터를 하나의 주소지로 통일해야하는 일이 생겼다. 굳이 도로명 주소를 모두 맞춰주는게 아니라 군, 시 정보까지만 맞춰주면 되는 일이기 때문에 단순하게 치환하여 문자열을 업데이트 해주면 되는 일이지만 꼼꼼하게 써봤다

1. DB 데이터 분석

어떤 데이터를 치환해야하는지 확인을 해봐야한다. 가볍게 Select 쿼리를 날렸을땐
테이블이 가진 address는 인천 | 인천광역시 | 전남 | 전라남도 이런식으로 뒤섞여 있는 데이터였는데

그냥 단순히 경남 → 경상남도 치환 , 인천 → 인천광역시로 치환을 해도 괜찮겠지만 꼼꼼함을 중시하는 개발자는 그래도 한번 돌다리를 확인하고 가야겠다는 생각이 들었다.

스페이스바 기준으로 데이터를 잘라 그룹을 만들어서 어떤 데이터가 있는지 확인해보자

SELECT split_part(address, ' ',1) AS maparea FROM 테이블명
GROUP BY maparea

강원도 강릉시처럼 예상하지 못한 데이터가 있었다. 이래서 사람은 한번 더 돌다리를 확인해야한다

2. 이제 업데이트 하기

확인한 쿼리대로 업데이트 쿼리를 작성해서 넣어줬다.

UPDATE 테이블명 SET address = REPLACE(address, '경기', '경기도')
WHERE address LIKE '경기 %' -- 요 부분은 혹시 모르는 경기가 들어간 컬럼을 제외하기 위해

이쁘게 데이터가 잘 들어간것을 보고 끝

profile
짧고 굵게 살아가는 백엔드 개발자

0개의 댓글