상세 컨텐츠

본문 제목

sql 쿼리에서 substring_index 함수 사용하는 방법은?

IT/DB

by JR 2025. 7. 20. 10:22

본문

300x250
반응형

 

 

 

SUBSTRING_INDEX() 함수는 MySQL 및 CUBRID 등에서 문자열을 특정 구분자를 기준으로 나눈 뒤, 원하는 위치의 부분 문자열만 추출할 때 사용하는 함수입니다.


✅ 기본 문법

 
SUBSTRING_INDEX(str, delim, count)

 


파라미터 설명
str 원본 문자열
delim 구분자 (ex: 쉼표 ,, 슬래시 /, 공백 ' ' 등)
count 추출할 부분의 위치 (양수: 왼쪽부터 / 음수: 오른쪽부터)
 

✅ 사용 예제

1. 쉼표(,)로 구분된 문자열에서 첫 번째 항목 가져오기

SELECT SUBSTRING_INDEX('apple,banana,orange', ',', 1); 
-- 결과: 'apple'
 

2. 쉼표로 구분된 문자열에서 앞 2개 항목 가져오기

SELECT SUBSTRING_INDEX('apple,banana,orange', ',', 2); 
-- 결과: 'apple,banana'
 
 

3. 뒤에서부터 마지막 항목 가져오기

SELECT SUBSTRING_INDEX('apple,banana,orange', ',', -1); 
-- 결과: 'orange'
 

4. 뒤에서부터 2개 항목 가져오기

SELECT SUBSTRING_INDEX('apple,banana,orange', ',', -2); 
-- 결과: 'banana,orange'

✅ 실전 활용 예: 이메일 아이디 추출

SELECT SUBSTRING_INDEX('user@example.com', '@', 1);
-- 결과: 'user'

✅ URL 도메인 추출

SELECT SUBSTRING_INDEX('https://naver.com/blog/123', '/', 3); 
-- 결과: 'https://naver.com'

✅ 참고: CUBRID에서도 사용 가능

 

CUBRID 10 이상에서는 SUBSTRING_INDEX() 함수가 MySQL과 거의 동일하게 지원됩니다.

 

문자열 전처리나 파싱에 매우 유용합니다.

 

 

 

300x250
반응형

관련글 더보기