SQL 업무에 필요한 문자 포맷이 다를 때(REPLACE, SUBSTRING, CONCAT)

yun·2024년 8월 6일
post-thumbnail

데이터를 조회하다보면, QUERY 결과를 그대로 사용하지 못하는 경우가 있다.
여러 케이스와 해결 방법을 알아보자.

REPLACE

바뀐 상점 이름과 지역 이름을 한 번에 바꾸는 방법

사용방법

replace(바꿀 컬럼, 현재 값, 바꿀 값)

사용 예시 1

최근 상점 이름이 바뀌었는데 과거 데이터에는 예전 이름으로 저장되어 있을 때

select restaurant_name "원래 상점명",
       replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'

사용 예시 2

'문곡리'라는 지명이 '문가리'로 바뀌었을 때

select addr "원래 주소",
       replace(addr, '문곡리', '문가리') "바뀐 주소"
from food_orders
where addr like '%문곡리%'

SUBSTRING

전체 데이터가 아닌 특정 문자만 필요할 때 조회하는 방법

사용 방법

substr(조회할 컴럼, 시작 위치, 글자 수)

사용 예시

전체 주소에서 앞부분인 '시도' 부분만 필요할 때

select addr "원래 주소",
       substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'

CONCAT

여러 컬럼의 문자를 하나로 합쳐 업무에 필요한 형태로 만드는 방법

사용 방법

concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, ....)

붙일 수 있는 문자의 종류

  • 컬럼
  • 한글
  • 영어
  • 숫자
  • 기타 특수문자

사용 예시

서울시에 있는 음식점을 '[서울]음식점명'이라고 수정

select restaurant_name "원래 이름",   
       addr "원래 주소",
       concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'

0개의 댓글