반응형
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
라는 결과를 얻을 수 있다.
반응형
'DEV > SQL' 카테고리의 다른 글
[PostgreSQL] INSERT, UPDATE, DELETE 실행 결과 조회 (RETURNING) (0) | 2023.07.19 |
---|---|
MySql(MariaDB) / Oracle 에서 ROLLUP 사용하기 (0) | 2023.07.07 |
PostgreSQL Null값 치환 함수 COALESCE (Feat. Oracle NVL) (0) | 2023.07.06 |
[MySql] 천 단위, 세 자리마다 콤마 찍는 함수 (0) | 2023.07.04 |
[MySql] 날짜 차이 구하는 함수 (DATEDIFF, TIMESTAMPDIFF) (0) | 2023.07.03 |