씨네
공부하는 개발자 강씨네
씨네
  • 분류 전체보기 (460)
    • Web (21)
      • HTML (11)
      • CSS (10)
    • JS 관련 (49)
      • JavaScript (27)
      • JQuery (22)
    • TS 관련 (15)
      • TypeScript (15)
    • NodeJS (7)
      • NodeJS (7)
    • 따라하며 배우는 시리즈 (23)
      • NodeJS & ReactJS Basic (23)
      • NodeJS & ReactJS Movie (0)
      • NodeJS & ReactJS Youtube (0)
      • NodeJS & ReactJS ChatBot (0)
    • SPA (14)
      • React (14)
      • Vue (0)
      • Anguler (0)
    • Java 관련 (118)
      • Java (52)
      • JDBC (6)
      • JSP & Servlet (18)
      • Spring Legecy (38)
      • SpringBoot (4)
    • Python (26)
      • Python (20)
      • PyMongo (1)
      • Django (5)
    • Git (24)
      • Github (24)
    • RDB (22)
      • Oracle (21)
      • MySQL (1)
    • NoSQL (5)
      • MongoDB (5)
    • OS (4)
      • Linux (4)
    • 빅데이터 (2)
      • hadoop (2)
    • IDE (20)
      • eclipse (11)
      • VSCODE (4)
      • VisualStudio (1)
      • IntelliJ (1)
      • PyCharm (1)
      • DBeaver (2)
    • Install (3)
      • Tomcat (1)
      • Docker (1)
      • Anaconda (1)
    • 오류&에러 (28)
      • TS (2)
      • NodeJS (7)
      • SQL (8)
      • Java (1)
      • Spring (4)
      • Git (6)
      • 기타 (0)
    • 알고리즘 (67)
      • 수열 (1)
      • 백준(backjoon) (39)
      • Programmers (27)
    • 자격증 (5)
      • SQLD (5)
    • 기타 (2)
    • IT유튜브로 지식쌓기 (2)

공지사항

인기 글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
씨네

공부하는 개발자 강씨네

[ORACLE] 문자열 자르기, 해당문자 인덱스 반환(SUBSTR, INSTR)
RDB/Oracle

[ORACLE] 문자열 자르기, 해당문자 인덱스 반환(SUBSTR, INSTR)

2021. 12. 24. 13:43
728x90

1. SUBSTR

SUBSTR(컬럼 or 문자열, 시작위치[, 반환할 개수])

- 시작위치부터 [반환할 갯수만큼] 문자열을 잘라서 반환

- 시작위치 = 0 or 1 : 처음

> 0 : 끝 방향으로 지정한 수 만큼

< 0 : 시작 방향으로 지정한 수 만큼

- 반환할 개수 < 0 : NULL 반환

시작 위치는 0이나 1이면 처음부터 끝방향으로 반환할 개수만큼 출력합니다.

시작위치가 0보다 작을경우 끝에서부터 시작방향으로 반환할 개수만큼 출력합니다.

또한 반환할 개수가 0보다 작으면 NULL값을 반환합니다.

 

​

​

SELECT SUBSTR(ENAME, 1, 2) FROM EMP;

SUBSTR은 문자를 자를 때 사용됩니다.

해당 명령에서 보면 ENAME컬럼을 시작이 1이고 2칸을 반환합니다

 

​

 

SELECT SUBSTR(ENAME, -1) FROM EMP;

해당 명령은 ENAME 컬럼을 뒤에서부터 1칸 출력합니다.

만약 -2가 들어가게 되면 뒤에서부터 2칸을 출력하게 됩니다.

 

 

2. INSTR

INSTR (컬럼 or 문자열, 찾으려는 문자(열)[, 시작위치 [, 횟수]])

- 찾는 문자(열)이 [시작 위치부터 [횟수만큼]] 나타난 시작 위치 반환

- 시작 위치 > 0 : 시작부터 끝 방향으로

< 0 : 끝부터 시작 뱡향으로

 

​

​

SELECT ENAME, INSTR(ENAME, ‘S’, 1, 1) FROM EMP;

해당 명령은 해당 컬럼에서 S를 찾고 있을시 어디(몇번째칸)에 있는지를 찾아 출력합니다.

위의 결과를 보니 S가 들어있는 문자열에서는 모두 찾았습니다.

 

​

​

SELECT ENAME, INSTR(ENAME, ‘L’, -1, 2) FROM EMP;

해당 명령은 문자 ‘L’을 뒤에서부터 찾습니다.

횟수는 2개를 찾습니다. 2번째 찾은 ‘L’의 위치를 반환합니다.

만약 ALELN이라는 문자가 있다면 해당 문자도 찾을 수 있습니다.

 

 

 

SELECT ENAME, INSTR(ENAME, ‘L’, 1, 1) FROM EMP;

해당 명령은 앞에서부터 ‘L’을 찾습니다. 첫번째로 찾은 ‘L’의 위치를 반환합니다.

728x90

'RDB > Oracle' 카테고리의 다른 글

[ORACLE] 날짜함수(ADD_MONTHS, MONTHS_BETWEEN, SYSDATE)  (0) 2021.12.27
[ORACLE] 자리수 반올림, 올림, 버림(ROUND, TRUNC, CEIL, FLOOR)  (0) 2021.12.26
[ORACLE] 문자열제거, 공백제거(RPAD / LPAD, RTRIM / LTRIM, TRIM)  (0) 2021.12.23
[ORACLE] DCL - 데이터 제어어  (0) 2021.12.22
[ORACLE] DDL - 데이터 정의어  (0) 2021.12.21
    'RDB/Oracle' 카테고리의 다른 글
    • [ORACLE] 날짜함수(ADD_MONTHS, MONTHS_BETWEEN, SYSDATE)
    • [ORACLE] 자리수 반올림, 올림, 버림(ROUND, TRUNC, CEIL, FLOOR)
    • [ORACLE] 문자열제거, 공백제거(RPAD / LPAD, RTRIM / LTRIM, TRIM)
    • [ORACLE] DCL - 데이터 제어어
    씨네
    씨네
    개발자 씨네가 공부하는 내용을 기록 겸 공유하는 블로그입니다!

    티스토리툴바