-
[SQL] UPDATE 시 LIKE 조건에 컬럼 이름 사용하기DB 2021. 7. 12. 01:26
행정구역 이름이 들어있는 컬럼의 값을 데이터 정합성을 위해 행정구역 코드로 변경해야 했다.
같은 행정구역이어도 다른 값이 들어오는 경우가 있었기 때문이다.
예를 들자면 "경기도"를 뜻하는 데이터가 "경기도"와 "경기" 두 가지로 들어오는 것이다.
이에 행정구역 테이블의 행정구역 코드 컬럼과 LIKE 조건을 통해서 UPDATE를 하였다.
이 때 구글링을 통해 찾아 사용한 SQL문은 아래와 같다.
가정
1. user라는 테이블은 city라는 컬럼을 가지고 있고, 해당 컬럼에 행정구역 이름 데이터가 들어있다.
2. city라는 테이블은 city_code와 city_name 컬럼을 가지며, 행정구역 코드와 행정구역 이름 데이터가 들어있다.
사용한 DBMS는 PostgreSQL이다.
update user set city = c.city_code from (select city_code, city_name from city) c where c.city_name like '%' || user.city || '%'
'DB' 카테고리의 다른 글
다중 태그 검색 SQL문 (0) 2021.10.31 Ubuntu에서 PostgreSQL 설치 및 데이터 저장 위치 변경하기 (0) 2021.10.26 데이터베이스별 boolean 데이터 타입(PostgreSQL, MySQL, Oracle) (0) 2021.10.15 PostgreSQL timestamp vs timestamptz (0) 2021.10.14 [SQL] UPDATE 시 ROW_NUMBER() 함수 사용하기 (0) 2021.07.03