728x90
오라클 문자열 자르는 방법
substr 개념
substr(문자열, 시작위치)
substr(문자열, 시작위치, 길이)
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 코드포인트 사용 |
728x90
'Be Smart > SQL' 카테고리의 다른 글
[Oracle] With절 사용법 및 예시 (임시 테이블) (0) | 2021.11.26 |
---|---|
[Oracle] NVL, NVL2 함수 (0) | 2021.11.26 |
[Oracle] 오라클 REPLACE 함수 (엔터, 탭 제거) (0) | 2021.11.16 |
[오라클] SELECT 개수 제한 (0) | 2021.11.08 |
[Oracle] Like 구문의 업그레이드 버전 , regexp_like (0) | 2021.11.08 |
댓글