MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수
SUBSTRING
12345678의 5번째부터 끝까지 문자열을 추출합니다.
SELECT SUBSTRING( '12345678', 5 ); +----------------------------+ | SUBSTRING( '12345678', 5 ) | +----------------------------+ | 5678 | +----------------------------+
SELECT SUBSTRING( '12345678' FROM 5 ); +--------------------------------+ | SUBSTRING( '12345678' FROM 5 ) | +--------------------------------+ | 5678 | +--------------------------------+
12345678의 5번째부터 2개의 문자열을 추출합니다.
SELECT SUBSTRING( '12345678', 5, 2 ); +-------------------------------+ | SUBSTRING( '12345678', 5, 2 ) | +-------------------------------+ | 56 | +-------------------------------+
SELECT SUBSTRING( '12345678' FROM 5 FOR 2 ); +--------------------------------------+ | SUBSTRING( '12345678' FROM 5 FOR 2 ) | +--------------------------------------+ | 56 | +--------------------------------------+
추출할 문자열의 개수가 모자르면 가능한만큼만 추출합니다.
SELECT SUBSTRING( '12345678', 5, 10 ); +--------------------------------+ | SUBSTRING( '12345678', 5, 10 ) | +--------------------------------+ | 5678 | +--------------------------------+
SUBSTRING_INDEX
SUBSTRING_INDEX( string, delimiter, count )
12.34.56.78을 .으로 구분하면 4개의 문자열이 나오는데, 그 중 앞에서 3개를 추출합니다.
MariaDB [(none)]> SELECT SUBSTRING_INDEX( '12.34.56.78', '.', 3 ); +------------------------------------------+ | SUBSTRING_INDEX( '12.34.56.78', '.', 3 ) | +------------------------------------------+ | 12.34.56 | +------------------------------------------+
음수인 경우 뒤쪽에서 추출합니다.
MariaDB [(none)]> SELECT SUBSTRING_INDEX( '12.34.56.78', '.', -2 ); +-------------------------------------------+ | SUBSTRING_INDEX( '12.34.56.78', '.', -2 ) | +-------------------------------------------+ | 56.78 | +-------------------------------------------+