substr(또는 substring) 함수
substr 함수는 문자열의 일부를 추출하는 함수로 substring 함수의 동의어입니다.
SELECT SUBSTRING(str, pos[, len]); SELECT SUBSTR(str, pos[, len]); |
첫번째 인자는 원본 문자열이고, 두번째 인자는 반환하려는 문자열의 시작위치(0 또는 음수 -1로 지정)를 지정할 수 있습니다. 그리고 마지막 인자는 반환하려는 문자열의 끝 위치를 말하는데, 세번째 인자를 지정하지 않을 경우 지정된 두번째 인자(시작위치부터...)부터 문자열의 전부를 반환합니다.
예재(ex #1
mysql> SELECT SUBSTRING('habonytest', 5); -> nytest mysql> SELECT SUBSTRING('habonytest', 3, 2); -> bo mysql> SELECT SUBSTRING('habonytest', FROM 2); -> abonytest |
음수는 끝자리에서 수를 카운터합니다.
예제(ex #2
mysql> SELECT SUBSTRING('habonytest', -3); -> est mysql> SELECT SUBSTRING('habonytest', -5, 2); -> yt mysql> SELECT SUBSTRING('habonytest', FROM -5 FOR 4); -> ytes |
substring_index 함수
이 함수는 substr 함수와 기능은 비슷하지만 구분자가 있습니다. str 문자열에 delim 구분자를 기준으로 count 수 만큼 반환받습니다. 음수이면 뒤에서 카운터합니다.
SELECT SUBSTRING_INDEX(str, delim, count); |
. 를 기준으로 2개를 반환받습니다.
예재(ex #3
mysql> SELECT SUBSTRING_INDEX('www.php.net', '.', 2); -> www.php mysql> SELECT SUBSTRING_INDEX('www.php.net', '.', -2); -> php.net |
다음은 @를 기준으로 반환받습니다.
예제(ex #4
mysql> SELECT SUBSTRING_INDEX('myid@domain.com', '@', -1); -> domain.com mysql> SELECT SUBSTRING_INDEX('myid@domain.com', '@', 1); -> myid |
'Programming > DataBase' 카테고리의 다른 글
[mssql] 현재날짜 yyyy-dd-mm (0) | 2015.03.06 |
---|---|
[MSSQL] 계층형 트리구조 쿼리 (0) | 2015.02.03 |
[oracle] merge into (0) | 2014.09.04 |
oracle 11g 서버 설치방법 (0) | 2014.08.01 |
CREATE TABLESPACE & CREATE USER (0) | 2014.07.13 |