MySql, Mariadb의 SUBSTRING, SUBSTRING_INDEX 문자열 자르기 함수에 대해 알아보겠습니다.
추가로 SUBSTRING_INDEX를 활용하여 JAVA의 split처럼 문장열로 자르고 Index에 맞게 가져오는 방법을 설명하겠습니다.
SUBSTRING
사용 방법
SUBSTRING(문자열, 시작 위치)
SUBSTRING(문자열, 시작 위치, 시작 위치부터 가져올 문자수)
예제
SELECT SUBSTRING('123456789', 7);
>> 789
SELECT SUBSTRING('123456789', -7);
>> 3456789
SELECT SUBSTRING('123456789', 3, 5);
>> 34567
SELECT SUBSTRING('123456789', -7, 3);
>> 345
SUBSTRING_INDEX
사용 방법
SUBSTRING_INDEX(문자열, 구분자, 구분자 Index)
예제
SELECT SUBSTRING_INDEX('사과,바나나,딸기,포도', ',', 3);
>> 사과,바나나,딸기
SELECT SUBSTRING_INDEX('사과,바나나,딸기,포도', ',', -3);
>> 바나나,딸기,포도
SUBSTRING_INDEX 활용한 split 기능
SUBSTRING_INDEX 함수를 응용하면 JAVA의 split처럼 해당 index에 맞게 문자열을 추출할 수 있다
사용 방법
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(문자열, 구분자, 구분자 Index), ',', -1)
예제
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('사과,바나나,딸기,포도', ',', 1), ',', -1)
>> 사과
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('사과,바나나,딸기,포도', ',', 2), ',', -1)
>> 바나나
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('사과,바나나,딸기,포도', ',', 3), ',', -1)
>> 딸기
(추가)
SUBSTRING_INDEX 활용한 총 인덱스 개수 확인 활용법
SUBSTRING_INDEX 함수를 응용하면 총 인덱스 개수를 확인할 ㅜㅅ 있습니다.
사용 방법
SELECT (CHAR_LENGTH(문자열)-CHAR_LENGTH(REPLACE(문자열, 구분자, 구분자 인덱스)))
[출처] leeys.tistory.com/23
'Others > 데이터베이스' 카테고리의 다른 글
[ORACLE] ORA-01031: insufficient privileges (0) | 2021.01.25 |
---|---|
SQLDeveloper 오류: Locale not recoginized (0) | 2021.01.25 |
[MYSQL] sql_mode=only_full_group_by 에러 발생 (0) | 2020.12.22 |
[리눅스] MySQL Dual Replication 설정 방법 (0) | 2020.09.11 |
mysql dual replication으로 mysql HA 구성하기 (0) | 2020.09.02 |