[ORACLE] 오라클 SUBSTR 문자열 자르기 사용법
- 데이터베이스/Oracle
- 2020. 5. 21.
오라클 문자열 자르는 방법
substr 개념
substr(문자열, 시작위치)
substr(문자열, 시작위치, 길이)
사용법은 간단합니다.
자바에서는 substring과 같은 기능입니다. 오라클에서도 함수명이 비슷하네요.
1. 함수 인자로는 첫번쨰를 문자열과, 두번째는 시작위치, 세번째는 길이입니다.
2. 문자열에 들어갈수 있는 데이터 타입은
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 입니다.
3. 시작위치와 길이에 입력되어야 하는 값은 데이터타입이 NUMBER 타입이거나
정수로 변환이 되는 문자열이여야 합니다.
아래 예제로 실제로 어떻게 사용되는지 확인해보겠습니다.
1. SUBSTR(문자열,시작위치)
SELECT SUBSTR('안녕하세요ABC', 3) FROM DUAL;
결과 : 하세요ABC
하세요ABC가 출력이 되었네요.
인덱스는 0부터 시작이 아닌 1부터 시작입니다.
그래서 3번째 문구인 [하] 부터 출력이 되었습니다.
2. SUBSTR(문자열,시작위치,길이) 앞에서부터 자르기
SELECT SUBSTR('안녕하세요ABC', 1, 2) FROM DUAL;
결과 : 안녕
길이가 2입니다. 첫번쨰 문자열인 [안] 부터 두번째 문구인 [녕] 까지 출력이 되었습니다.
3. SUBSTR(문자열,시작위치) 뒤에서부터 자르기
SELECT SUBSTR('안녕하세요ABC', -4) FROM DUAL;
결과 : 요ABC
시작위치에 음수를 입력하게되면 뒤에서부터 문자열을 자르게 됩니다.
뒤에서 4번째 위치인 [요] 부터 출력이 되었습니다.
4. SUBSTR(문자열,시작위치,길이) 뒤에서부터 자르기
SELECT SUBSTR('안녕하세요ABC', -4, 2) FROM DUAL;
결과 : 요A
시작위치는 -4로 뒤에서 네번쨰인 [요] 부터 길이가 2자리인 문자열을 출력합니다.
5. 특징
소수점을 입력한 경우 자동으로 정수로 변환합니다.
SELECT SUBSTR('안녕하세요ABC', 4, 2.5) FROM DUAL
소수점 2.5 - > 2로 변경
SELECT SUBSTR('안녕하세요ABC', 4, 2) FROM DUAL 와 동일한 결과 출력
결과 : 요A
길이가 1보다 작으면 null을 리턴합니다.
SUBSTR(문자열,시작위치,길이)
SELECT SUBSTR('안녕하세요ABC', 3, 0) FROM DUAL;
결과 : NULL
SUBSTR과 같은 기능이지만 다른 형태의 문자를 사용하는경우
아래 함수를 사용하시면 됩니다. 문법은 동일합니다.
함수 | 설명 |
SUBSTRB | 문자 대신 바이트 사용 |
SUBSTRC | 유니코드 문자 사용 |
SUBSTR2 | UCS2 코드단위 사용 |
SUBSTR4 | UCS4 코드포인트 사용 |
'데이터베이스 > Oracle' 카테고리의 다른 글
[ORACLE] 오라클 LENGTH, LENGTHB 차이점 한글 (0) | 2020.05.27 |
---|---|
[ORACLE] 오라클 SYSDATE 사용법(어제날짜,한달전,1년전) (0) | 2020.05.26 |
[ORACLE]오라클 ORA-01722: 수치가 부적합합니다. 해결완료 (0) | 2020.05.20 |
[ORACLE] 오라클 에러 모음 ORA-12400 ~ ORA-12699 (0) | 2020.05.19 |
[ORACLE] 오라클 에러 모음 ORA-07500 ~ ORA-09857 (0) | 2020.05.16 |