반응형

오라클 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 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,