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 가 출력 된 모습을 볼 수 있다.
반응형
'초보자를 위한 SQL 200제 > 이론 & 예제' 카테고리의 다른 글
018 문자열의 길이를 출력하기 (LENGTH) (1) | 2023.07.13 |
---|---|
016 대소문자 변환 함수 배우기 (UPPER, LOWER, INITCAP) (0) | 2023.07.12 |
015 논리 연산자 배우기 (AND, OR, NOT) (0) | 2023.07.12 |
014 비교 연산자 배우기 (IN) (0) | 2023.07.12 |
013 비교 연산자 배우기 (IS NULL) (0) | 2023.07.12 |