데이터 분석이나 SQL 쿼리 작성에서 자주 쓰이는 함수 중 하나가 바로 **SUBSTRING()**입니다.
문자열에서 특정 구간만 잘라내는 기능을 제공하기 때문에, 고객 주소, 전화번호, 아이디 등 다양한 텍스트 데이터 처리에 유용하게 활용할 수 있습니다.
이번 글에서는 다음 쿼리 예시를 가지고 SUBSTRING()의 활용법을 살펴보겠습니다.
SELECT DISTINCT(SUBSTRING(address, 1, 2))
FROM copang_main.member;
SUBSTRING 함수 기본 문법
SUBSTRING(string, start, length)
- string: 잘라낼 대상 문자열
- start: 잘라내기 시작할 위치 (1부터 시작)
- length: (선택사항) 잘라낼 길이. 지정하지 않으면 시작 위치부터 끝까지 반환
예시:
SELECT SUBSTRING('HelloWorld', 1, 5); -- 결과: Hello
SELECT SUBSTRING('HelloWorld', 6); -- 결과: World
예제 쿼리 분석
SELECT DISTINCT(SUBSTRING(address, 1, 2))
FROM copang_main.member;
address 컬럼에서 문자열 추출
→ SUBSTRING(address, 1, 2) 는 주소 값의 앞에서 2글자를 잘라냅니다.
- 서울특별시 강남구 … → 서울
- 경기도 성남시 … → 경기
- 부산광역시 해운대구 … → 부산
- 예:
DISTINCT 사용
→ 중복된 값은 제거하고 고유한 지역명 앞 두 글자만 가져옵니다.
- 최종 결과 예:
서울
경기
부산
대전
인천
...
즉, 이 쿼리는 회원들의 주소 데이터를 이용해, 회원들이 어느 지역(시·도)에서 왔는지를 추출하는 기능을 하는 셈입니다.
활용 포인트
- 주소 데이터에서 시·도 단위를 빠르게 추출 가능
- 전화번호에서 앞 3자리(통신사 식별) 추출 가능
- 이메일에서 도메인 일부만 가져오기 가능
정리
- SUBSTRING()은 문자열 데이터에서 원하는 구간을 잘라낼 때 유용하다.
- 시작 위치는 1부터 시작하며, 길이를 지정하지 않으면 끝까지 가져온다.
- DISTINCT와 함께 사용하면 고유한 값만 추출할 수 있다.
- 주소, 전화번호, 이메일 등 다양한 텍스트 데이터 처리에 널리 활용할 수 있다.
이번 예제처럼 SUBSTRING(address, 1, 2)를 활용하면, 대량의 주소 데이터에서 간단히 시·도 단위 분류를 할 수 있어 분석 효율성을 높일 수 있습니다.
'컴퓨터 과학 > 데이터 베이스' 카테고리의 다른 글
| SQL 문 작성 순서와 실제 실행 순서 완전 정리 (1) | 2025.08.17 |
|---|---|
| SQL에서 GROUP BY 사용 시 반드시 지켜야 할 규칙 (2) | 2025.08.17 |
| MySQL CASE 문 실행 순서 이해하기 (1) | 2025.08.17 |
| MySQL CASE문으로 조건 분기하기 (0) | 2025.08.17 |
| MySQL CONCAT 함수 사용하기 (0) | 2025.08.17 |