오라클 SUBSTR 함수 문법과 예제로 마스터하기
문법
SUBSTR(기준문자, 시작위치, 종료위치);
SUBSTR(기준문자, 시작위치);
예제
SELECT SUBSTR('HELLOSQL', 1, 5 ); ------------------------------------------ 결과 : HELLO
SUBSTR 함수는 결과의 원하는 문자열 자르기를 하기 위해 시작위치와 종료위치를 입력하여 결과의 일부분을 추출하게됩니다.
일반적으로 SUBSTR 은 문자를 자를 때 사용하게 됩니다.
SUBSTR 사용 규칙
- 시작위치가 0이면 1로 처리됩니다.
SELECT SUBSTR('HELLOSQL',0,1) FROM DUAL SELECT SUBSTR('HELLOSQL',1,1) FROM DUAL ------------------------------------------ 결과 : H
- 시작위치에 양수를 입력하면 문자의 시작부분부터 카운트하여 첫번째 문자를 찾습니다.
SELECT SUBSTR('HELLOSQL',3,2) FROM DUAL ------------------------------------------ 결과 : LL
- 시작위치에 음수를 입력하면 문자의 끝부분부터 뒤로 계산하여 첫번째 문자를 찾습니다.
SELECT SUBSTR('HELLOSQL',-3,2) FROM DUAL ------------------------------------------ 결과 : SQ
- 종료위치가 생략되면, 시작위치 이후의 모든 문자를 리턴합니다.
SELECT SUBSTR('HELLOSQL',3) FROM DUAL ------------------------------------------ 결과 : LLOSQL
- substring_length가 1보다 작으면 null을 리턴합니다.
SELECT SUBSTR('HELLOSQL',3,0) FROM DUAL ------------------------------------------ 결과 : NULL
- 시작위치와 종료위치에 소수점을 입력한 경우 자동으로 정수로 변환됩니다. ( 3.8 -> 3 , 3.1 -> 3 )
SELECT SUBSTR('HELLOSQL',3,3.9) FROM DUAL SELECT SUBSTR('HELLOSQL',3,3.1) FROM DUAL ------------------------------------------ 결과 : LLO
- SUBSTR 의 첫번째 파라메터에 들어갈 수 있는 데이터타입은 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 중 1개 타입을 사용할 수 있습니다.
또한, 결과값은 파라메터에 입력한 타입과 동일한 데이터타입을 리턴합니다.
- 시작위치와 종료위치에 입력되어야 할 값은 데이터타입이 NUMBER 타입이거나 NUMBER 타입으로 변환될 수 있는 데이터타입으로 입력해야 합니다. ( 즉, 정수값이 입력되어야 합니다. )
SUBSTR 과 비슷하지만 다른 문자형태를 잘라서 사용하고 싶은 경우 아래의 함수를 이용할 수 있습니다. ( 문법동일 )
SUBSTRB : 문자 대신 바이트를 사용
SUBSTRC : 유니코드 완성형 문자를 사용
SUBSTR2 : UCS2 코드포인트를 사용
SUBSTR4 : UCS4 코드포인트를 사용
위의 함수 중 SUBSTRB 는 1~2년에 한두번 사용해보았으나 그 밑의 함수들은 아직 사용해본적이 한번도 없습니다.
♡공감과 댓글은 저에게 더 큰 힘이 됩니다!
( 로그인하지 않아도 공감버튼은 클릭됩니다. )
'IT > Oracle' 카테고리의 다른 글
오라클 파티션 테이블 샘플(생성 수정 삭제) 및 주의사항 (4) | 2017.07.25 |
---|---|
오라클 MERGE 간단한 예제로 한번에 INSERT, UPDATE 처리 (5) | 2017.07.24 |
오라클 다양한 INSERT INTO 방법 (0) | 2017.07.03 |
오라클 LOCK 걸린 개체 확인 및 LOCK 해제 (10) | 2017.06.25 |
오라클 drop 된 테이블 복원 ( Flashback ) Recycle Bin 에서 테이블 복원 (4) | 2017.06.24 |