SUBSTRING
함수
설명
SUBSTRING 함수는 주어진 문자열에서 시작 위치로부터 선택
사항으로 주어지는 반환할 수 만큼을 추출한다. 추출할 문자수가 생략되면, SUBSTRING은 주어진
시작 위치로부터 스트링의 끝까지를 반환한다.
구문
SUBSTRING(substring_operand
FROM integer [FOR integer]
)
substring_operand
:
bit
string
character
string
NULL
- substring_operand
: 입력 문자열을 지정한다. 비트열 또는 문자열이 올 수 있다. 입력 값이 NULL이면 결과도
NULL이 반환된다.
- integer
: 반드시 입력해야 하는 FROM integer
값은 추출할 서브스트링의 시작 위치를 나타낸다. 이 값에 1보다 작은 값이 주어지면, 스트링의 처음 위치(디폴트 값인 1)로
시작 위치가 지정된다. 선택 사항인 FOR integer
값은 스트링의 종류에 따라 추출할 문자 또는 비트 수를 나타낸다.
이 값이 0 보다 작으면, FOR integer
값은 무시된다. FOR 키워드 다음에는 반드시 정수 값을 지정해야 한다.
- FROM integer
값이 서브스트링을 구하고자 하는 스트링의 길이 보다 크면, 결과로 공백 스트링이 반환된다.
- FROM integer
값과 FOR integer
값의 합이 입력 스트링의 길이보다 작으면, FROM integer
값으로 지정되는 시작 위치에서부터 FOR integer
값으로 지정되는 길이만큼 서브스트링이 추출된다. 어떠한 입력 값이라도 NULL이 되면, 결과 또한 NULL이 반환된다.
예제
- 예제 1
- 다음은 입력값에 NULL이 존재할 때의 결과값을 반환하는 예제이다.
SELECT SUBSTRING(NULL FROM 2) FROM db_root;
- 예제 2
- 다음은 문자열에서 9번째 위치부터의 문자열을
반환하는 예제이다.
SELECT SUBSTRING('Seawind Beach Resort' FROM
9) FROM db_root;
- 예제 3
- 다음은 문자열에서 9번째 위치부터 5개의 문자를
반환하는 예제이다.
SELECT SUBSTRING('Seawind Beach Resort' FROM
9 FOR 5) FROM db_root;
- 예제 4
- 다음은 문자열에서 끝에서 6번째 위치부터 문자
2개를 추출하는 예제이다.
SELECT SUBSTRING('Seawind Beach Resort' FROM
-6 FOR 2) FROM db_root;