본문 바로가기
개발공부/DB

[오라클] INSTR, SUBSTR 문자열의 몇자리부터 문자 찾기, 문자열 자르기 (right to left, last)

by dokii 2021. 1. 14.
728x90

INSTR 함수를 사용해서 문자열의 마지막에서 부터 해당 문자의 위치를 찾고 싶을때 빨간색 파라미터는 생략가능 하다.

 

INSTR ( [문자열], [찾을 문자 값], [찾기를 시작할 위치(1,-1)], [찾은 결과의 순번(1...n)] )

 

뒤에서 부터 찾기 : INSTR('HELLO WORLD', 'O', -1)  

SELECT INSTR('HELLO WORLD', 'O')        STR1 -- 문자열의 앞에서부터 찾기(기본사용)
     , INSTR('HELLO WORLD', 'O', -1)    STR2 -- 문자열의 뒤에서부터 찾기 (-1 : 뒤에서부터)
     , INSTR('HELLO WORLD', 'O', -1, 1) STR3 -- 문자열의 뒤에서부터 찾고 첫번째 찾은 문자
     , INSTR('HELLO WORLD', 'O', -1, 2) STR4 -- 문자열의 뒤에서부터 찾고 두번째 찾은 문자
  FROM DUAL

 

SUBSTR 함수 (문자 단위)

SUBSTR 함수는 문자단위로 시작위치와 자를 길이를 지정하여 문자열을 자른다.

- 함수  :  SUBSTR("문자열", "시작위치", "길이")

 

[앞에서부터 문자열을 자르는 방법]

WITH EMP AS (
    SELECT '7566' EMPNO, 'JONES' ENAME, '매니저' JOB FROM DUAL
)

SELECT ENAME
     , SUBSTR(ENAME, 2)
     , SUBSTR(ENAME, 2, 3)
     , JOB
     , SUBSTR(JOB, 2, 1)
  FROM EMP

 

[뒤에서부터 문열을 자르는 방법]

WITH EMP AS (
    SELECT '7566' EMPNO, 'JONES' ENAME, '매니저' JOB FROM DUAL
)

SELECT ENAME
     , SUBSTR(ENAME, -3)
     , SUBSTR(ENAME, -3, 2)
     , JOB
     , SUBSTR(JOB, -3, 1)
  FROM EMP

 

 


 

[출처]gent.tistory.com/201

[출처]gent.tistory.com/22

 

728x90

댓글