TIL_[SQL] 문자 포맷 가공 함수 (Replace, Substring, Concat)_SQL 강의 3주차

김희정·2023년 11월 29일

TIL

목록 보기
1/57
post-thumbnail

자주 쓸 것 같은 함수 복습

replace 이전에 사용하던 오래된 데이터 값을 다른 문자로 전체 수정해야 할 때
substr 데이터에서 특정 값만 뽑아서 추출하고 싶을때
concat 추출하고 싶은 결과 값이 원래의 데이터와는 전혀 다른 포맷일 때

REPLACE 함수

특정 문자열을 다른 문자열로 바꿔주는 함수

Replace(바꿀 컬럼, 현재 값, 바꿀 값)
select restaurant_name "원래 상점명",
       replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'
  • 식당명 'Blue Ribbon' -> 'Pink Ribbon' 으로 바꿈
  • 결과값
  • 비슷한 함수
    - STUFF
    - TRANSLATE

SUBSTR 함수

전체 데이터가 아닌 특정 문자만 필요할때, 특정 부분만 조회하는 함수

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 '%서울%'
  • '[서울] 음식점명' 으로 수정
  • 결과값

++ 추가

CONCAT_WS (구분자로 합치기)

문자열을 특정 구분자로 합칠 때 유용하게 사용할 수 있다.

CONCAT_WS('구분자', '문자열', '문자열', '문자열' ...)
select CONCAT_WS(',', 'SQL', 'Server', '2023') "str1",
		CONCAT_WS('@', 'test', 'naver.com') "str2"
  • 결과값
str1str2
SQL, Server, 2019text@naver.com
profile
데이터 애널리스트가 되고 싶은

0개의 댓글