말랑말랑제리스타일

ORACLE SUBSTR 뒤에서부터 문자열 자르기 본문

데이터베이스/Oracle SQL

ORACLE SUBSTR 뒤에서부터 문자열 자르기

제리제리 2022. 5. 17. 14:06

ORACLE 함수 중 SUBSTR을 이용해서 문자열을 자르는 방법은 크게 2가지가 있고 세분화하면 4가지가 있을 수 있는데요. 이 방법들을 한번 알아보겠습니다.

ORACLE SUBSTR 사용법

반응형

SUBSTR은 기본적으로 2개 또는 3개의 매개변수를 사용할 수 있습니다.

SUBSTR(문자열, 시작할 위치, 자를 개수)

이런 방식으로 사용이 가능한데요. 여기서 자를 개수를 비우고 2개의 매개 변수만 사용하면 자동으로 시작 위치부터 끝까지 문자열을 자르게 됩니다.

SELECT SUBSTR('ABCDEF',3,2) FROM DUAL;
SELECT SUBSTR('ABCDEF',3) FROM DUAL;

이런 식으로 테스트해보면 첫 번째 ORACLE 쿼리의 결과는 3번째 글자부터 2개의 글자를 잘라서 'CD'가 나오고 두 번째 ORACLE 쿼리의 결과는 3번째 글자부터 끝까지 자른 'CDEF'가 출력이 됩니다.

그렇다면 뒤에서 몇번째의 글자에서 시작하려면 어떻게 하면 좋을까요?

물론 LENGTH 함수를 추가로 사용해도 되지만 더 간단한 방법이 있습니다.

ORACLE SUBSTR 뒤에서부터 자르기

반응형

예를 들어 뒤에서 4번째 글자에서 시작한다 하면 시작할 위치로 -4를 넣어주면 되는데요.

SELECT SUBSTR('ABCDEF',-4) FROM DUAL;
SELECT SUBSTR('ABCDEF',-4,2) FROM DUAL;

마찬가지로 글자 수를 넣어서 세 개의 매개변수를 이용하는 SUBSTR 함수로 써주면 글자 수까지 지정이 가능합니다.

위 ORACLE 쿼리 결과는 뒤에서 4번째 자리인 C부터 시작해서 첫번째 쿼리는 'CDEF'를, 두 번째 쿼리는 'CD'를 출력하게 되겠죠.

반응형

막간을 이용한 ORACLE 쿼리 팁이었습니다.

반응형
Comments