반응형

java 에서 구분자로 구분해서 문자열을 분리해서 가져오는 split() 처럼

SUBSTRING_INDEX 를 이용하면 mariaDB 에서도 split 같은 기능을 활용할 수 있다.

SUBSTRING_INDEX(컬럼명, 구분자, 인덱스)

 

인덱스에 양수를 넣으면 앞에서부터 몇 번째인지 지정할 수 있고

반대로 음수를 넣으면 뒤에서부터 몇 번째 자리를 가져올지 지정해 줄 수 있다.

ex.

PHONE 이라는 컬럼에 010-0001-1234 라는 데이터가 들어있다고 가정하자

SELECT

SUBSTRING_INDEX(PHONE, '-', 1) PHONE1,

SUBSTRING_INDEX(PHONE, '-', 2) PHONE2,

SUBSTRING_INDEX(PHONE, '-', 3) PHONE3,

SUBSTRING_INDEX(PHONE, '-', -1) PHONE4,

SUBSTRING_INDEX(PHONE, '-', -2) PHONE5,

SUBSTRING_INDEX(PHONE, '-', -3) PHONE6

FROM TEST_TABLE;

실행하면

010 0001 1234 1234 0001 010

라는 결과를 얻을 수 있다.

 

반응형

+ Recent posts