SQL 3주차(1) SQL 가공하기

노승현·2024년 7월 5일

내일배움 사전캠프

목록 보기
18/38

SQL에서 3주차에는 Replace, Substring, Concat을 배웠다.

업무 필요한 문자 포맷이 다를 경우 SQL로 가공하기

(REPLACE, SUBSTRING, CONCAT)

쿼리 결과를 바로 사용할 수 없는 경우

  • 데이터에 잘못된 값이 있거나, 데이터 중 일부 정보만 갖고 싶을 경우, query 결과를 바로 사용할 수 있게 문자 데이터의 형태를 바꾼다.

Replace

Replace 함수는 문자열 내의 지정된 하위 문자열을 다른 하위 문자열로 대체하는 데 사용된다.

기본적으로 replace 함수의 문법은
replace(바꿀 컬럼 이름, 현재 값, 바꿀 값)

ex)
select restaurant_name "원래 상점명",
replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'
food_order 테이블에서 Blue Ribbon이란 이름이 붙어있는 상점들의 이름을 Pink Ribbon으로 바꾸려 할 경우

Substring

전체 데이터가 아닌 특정 문자만 필요할 때, SQL로 필요한 부분만 조회할 수 있다.

기본적인 substring 함수의 문법은

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

ex)
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
서울특별시에 있는 상점들의 주소에서 앞의 두 글자만 뽑아내려 할 경우

Concat

여러 칼럼의 문자를 합치기
원하는 문자가 여러 컬럼에 있을 때, 하나로 합쳐 업무에 필요한 형태로 만들 수 있다.

기본적인 concat 함수의 문법은
concat(붙이고 싶은 값1, 2, 3)

ex)
select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'
주소에 서울이 붙어있는 상점들에 상점의 시도를 붙이려 할 경우

concat은 그 안에 문자 형식을 넣기 때문에 쉼표와 작은따옴표가 있어야 한다.

0개의 댓글