본문 바로가기
초보자를 위한 SQL 200제/이론 & 예제

017 문자에서 특정 철자 추출하기 (SUBSTR)

by Hwanii_ 2023. 7. 12.
728x90

문자에서 지정된 길이의 문자열을 추출 하려면 어떻게 해야 할까 ?

 

문자에서 특정 길이의 문자를 추출 하려면, SUBSTR 함수를 사용 하면 된다.

 

1.

SMITH 에서 SMI 만 잘라내서 출력 하기.

 

SELECT SUBSTR ('SMITH',1,3)
FROM DUAL;

SUB
---
SMI

 

2.

SUBSTR 함수는 문자에서 특정 위치의 문자열을 추출 한다.

 

괄호안에 차례대로,

추출할 문자열,

문자열의 시작 인덱스,

시작 인덱스로 부터 몇 개의 철자를 추출 할지의 숫자

 

이다.

 

자바와 다르게, 인덱스는 0번 부터 시작 하지 않고,

1부터 시작 한다.

 

S M I T H
1 2 3 4 5

----------------------------------------------------------------------------------------------------->

 

3.

여러 가지 출력 하기.

 

1)

SELECT SUBSTR ('SMITH',2,2)
FROM DUAL;

SU
--
MI

 

2)

SELECT SUBSTR ('SMITH',-2,2)
FROM DUAL;

SU
--
TH

 

-2 는 무엇을 의미 할까 ?

 

현재 문자열은 SMITH 인데,

 

H 부터 -1 이다.

 

S M I T H
-5 -4 -3 -2 -1

 

그래서,

-2는 T를 의미하고,

2이기 때문에, T, H 두자리를 추출 해서 반환 한다는 의미 이다.

 

개념 안맞으면 수정 하겠다.

 

3)

SELECT SUBSTR('SMITH',2)
FROM dual;

SUBS
----
MITH

 

얘는, 추출할 문자열의 시작 인덱스만 적혀 있다.

 

즉, 어디 까지 추출 할건지는 적혀 있지 않기 때문에,

 

M부터 문자열 끝까지를 출력 한다는 의미 이다.

 

그래서 MITH 가 출력 된 모습을 볼 수 있다.

 

반응형