728x90
지역 테이블을 작업하다 보면 서울특별시 처럼 full name 으로 쓰기도 하고 서울 처럼 short name 으로 줄여서 쓰는 경우도 있어서 해당 부분에 맞게 데이터를 업데이트 해야할 일이 종종 생긴다.
아래 쿼리문은 그런 경우 테이블 전체에서 수정해야 하는 쿼리문을 한번에 update 할 수 있다. 업데이트 구문에서도 case 구분을 잘쓰면 유용하다.
UPDATE code_bjd_short
SET kf_name = CASE
WHEN kf_name LIKE '서울특별시%' THEN REPLACE(kf_name, '서울특별시', '서울')
WHEN kf_name LIKE '부산광역시%' THEN REPLACE(kf_name, '부산광역시', '부산')
WHEN kf_name LIKE '대구광역시%' THEN REPLACE(kf_name, '대구광역시', '대구')
WHEN kf_name LIKE '인천광역시%' THEN REPLACE(kf_name, '인천광역시', '인천')
WHEN kf_name LIKE '광주광역시%' THEN REPLACE(kf_name, '광주광역시', '광주')
WHEN kf_name LIKE '대전광역시%' THEN REPLACE(kf_name, '대전광역시', '대전')
WHEN kf_name LIKE '울산광역시%' THEN REPLACE(kf_name, '울산광역시', '울산')
WHEN kf_name LIKE '세종특별자치시%' THEN REPLACE(kf_name, '세종특별자치시', '세종')
WHEN kf_name LIKE '경기도%' THEN REPLACE(kf_name, '경기도', '경기')
WHEN kf_name LIKE '강원도%' THEN REPLACE(kf_name, '강원도', '강원')
WHEN kf_name LIKE '충청북도%' THEN REPLACE(kf_name, '충청북도', '충북')
WHEN kf_name LIKE '충청남도%' THEN REPLACE(kf_name, '충청남도', '충남')
WHEN kf_name LIKE '전라북도%' THEN REPLACE(kf_name, '전라북도', '전북')
WHEN kf_name LIKE '전라남도%' THEN REPLACE(kf_name, '전라남도', '전남')
WHEN kf_name LIKE '경상북도%' THEN REPLACE(kf_name, '경상북도', '경북')
WHEN kf_name LIKE '경상남도%' THEN REPLACE(kf_name, '경상남도', '경남')
WHEN kf_name LIKE '제주특별자치도%' THEN REPLACE(kf_name, '제주특별자치도', '제주')
ELSE kf_name
END;
728x90
'MYSQL' 카테고리의 다른 글
group by 에서 limit 로 페이징 처리 (0) | 2024.11.21 |
---|---|
쿼리문에서 필드 합쳐서 가져오기 CONCAT (1) | 2024.11.20 |
insert 후 자동 증가 키 값 가져오기 (0) | 2024.11.19 |
sql 그룹별 평균 구하기 (0) | 2024.11.18 |
mysql 리액트 만나이 계산 (0) | 2024.11.11 |