데이터를 조회하다 보면 Query 결과를 그대로 이용할 수 없는 경우가 있습니다. 다음과 같은 상황이 있을 수 있습니다:
이런 상황에서 SQL로 문자 데이터를 쉽게 가공할 수 있습니다.
SQL은 특정 문자를 다른 문자로 바꾸는 기능을 제공합니다.
REPLACEREPLACE(컬럼명, '현재 값', '바꿀 값')SELECT restaurant_name AS "원래 상점명",
REPLACE(restaurant_name, 'Blue', 'Pink') AS "바뀐 상점명"
FROM food_orders
WHERE restaurant_name LIKE '%Blue Ribbon%';
SELECT addr AS "원래 주소",
REPLACE(addr, '문곡리', '문가리') AS "바뀐 주소"
FROM food_orders
WHERE addr LIKE '%문곡리%';
이와 같은 방식으로 대량의 데이터도 쉽게 수정할 수 있습니다.
SQL에서는 특정 문자만 선택해서 조회할 수 있습니다.
SUBSTRING(DBMS에 따라 SUBSTR)SUBSTR(컬럼명, 시작 위치, 가져올 글자 수)SELECT addr AS "원래 주소",
SUBSTR(addr, 1, 2) AS "시도"
FROM food_orders
WHERE addr LIKE '%서울특별시%';
위 Query는 '서울특별시 강남구...'와 같은 주소에서 '서울'만 출력해줍니다.
TIP: 시작 위치는 1부터 시작합니다.
여러 개의 문자열을 하나로 결합할 수 있습니다.
CONCATCONCAT(문자1, 문자2, 문자3, ...)결합 가능한 문자 종류:
SELECT restaurant_name AS "원래 이름",
addr AS "원래 주소",
CONCAT('[', SUBSTR(addr, 1, 2), '] ', restaurant_name) AS "바뀐 이름"
FROM food_orders
WHERE addr LIKE '%서울%';
위 코드 실행 시, '한식당'이 '서울특별시'에 위치해 있다면 [서울] 한식당으로 출력됩니다.
SQL은 문자 데이터를 가공할 수 있는 다양한 기능을 제공합니다.
