본문 바로가기

개발공부/DB

[mysql] 구분자로 문자열 자르기(substring_index)

substring_index 함수를 사용하면 된다.

 

SUBSTRING_INDEX(문자열, 구분자, 구분자 Index)


예시)

SELECT SUBSTRING_INDEX('안녕,나는,줄리엣,이야', ',', 2); 
/*앞에서 두번째꺼까지*/
>> 안녕,나는

SELECT SUBSTRING_INDEX('안녕,나는,줄리엣,이야', ',', -3);
/*뒤에서 세번째꺼까지*/
>> 나는,줄리엣,이야

 

예시2) 핸드폰 번호가 있는데 cell1 cell2 cell3 으로 나누고싶다

 

주어진 핸드폰 번호(cell 컬럼) : 010-8888-3333

구분자: "-"

 

select 
substring_index(cell,"-",1) as cell1,
substring_index(substring_index(cell,"-",2),"-",-1) as cell2,
substring_index(substring_index(cell,"-",3),"-",-1) as cell3
from table_info;

결과

cell1 : 010

cell2 : 8888

cell3 : 3333