DB 컬럼상에서 문자열을 자를 수 있게 해주는 오라클 substr 기능에 대해 알아보겠습니다.
오라클 뿐만 아니라 다른 DBMS를 사용하면서 특정 문자열만 추출해 내고 싶을 때가 있습니다.
예를 들면 20150314 날짜가 있다면 문자열 함수를 이용하여 2015만 추출해 내어 년도만 표시해야 하는 경우가 있는데요.
이런 기능을 제공하는 함수가 바로 substr 이라고 할 수 있습니다.
1. 사용법
SELECT SUBSTR('문자열',숫자1,숫자2) FROM 테이블명
위와 같인 substr 안에 매개변수는 문자열과 숫자가 들어갈 수 있는데 문자열에는 테이블에 필드명도 사용할 수 있습니다.
그리고 숫자 1개와 2개를 각각 사용할 수 있습니다.
1개: 해당 인덱스 부터 끝까지 문자열을 추출합니다.
예) ABCDE 문자가 있고 인덱스를 3으로 지정하면 CDE가 추출되어 집니다.
2개: 첫번째 숫자 인덱스 부터 두번째 숫자 인덱스까지의
예) ABCDE 의 문자에 숫자를 4.5 를 지정하면 DE가 추출되어 집니다.
※ 음수(-)를 사용하게 될 경우 문자열을 뒤에서 부터 추출할 수 있습니다.
2. 예제
- 한개의 숫자만 사용하여 특정 부분 이후 추출
SELECT SUBSTR('가나다라마',3) FROM DUAL;
2개의 숫자를 써서 일정 구간을 추출
SELECT SUBSTR('오라클테스트',2,3) AS TEST FROM DUAL;
음수를 써서 끝에서 부터 추출
SELECT SUBSTR('ABCDEF', -3) AS TEST FROM DUAL;
이렇게 오라클 substr 함수를 사용하여 문자열을 자를 수 있으니 응용해 보시기 바랍니다.