안녕하세요.
오늘은 MySQL에서 간단하게 문자열을 추출하거나 자를 때 사용하는 함수에 대해 알아보겠습니다.
SQL 문자열 추출 함수 (SUBSTR, SUBSTRING)
▣ 문자열 자르기 함수 종류
RDBMS | Function |
Oracle | SUBSTR() |
MySQL | SUBSTR(), SUBSTRING() |
DB에서 문자열 추출 시, Oracle에서는 SUBSTR를 사용하고 MySQL에서는 SUBSTR와 SUBSTRING 모두 사용합니다.
▣ 문자열 자르기 함수 설명
SUBSTRING, SUBSTR('문자열 STR', '시작지점 START', '길이 LENGTH')
- 문자열(STR)을 시작지점부터 길이만큼 추출 / [길이 미입력시 끝까지 추출]
▣ 예제 및 결과
# 예제 Table
WITH EXAMPLE AS(
SELECT '오늘보다 발전한 내일의 내가 되기를' STR FROM DUAL
)
SELECT
SUBSTR(STR,1,4), --STR의 1번째 글자부터 4개 자르기
SUBSTR(STR,6,3), --STR의 6번째 글자부터 5개 자르기
SUBSTR(STR,10), --STR의 10번째 글자부터 끝까지 자르기
SUBSTR(STR,-3,3), --STR의 뒤에서 3번째 글자부터 3글자 자르기
SUBSTR(STR,-6), --STR의 뒤에서 6번째 글자부터 끝까지 자르기
FROM
EXAMPLE
SUBSTR(STR,1,4) | SUBSTR(STR,6,3) | SUBSTR(STR,10) | SUBSTR(STR,-3,3) | SUBSTR(STR,-6) |
오늘보다 | 발전한 | 내일의 내가 되기를 | 되기를 | 내가 되기를 |
문자열 위치 찾기 (INSTR)
▣ 문자열 위치 찾기 함수 설명
INSTR('문자열 STR', 'TARGET 문자', '시작지점 START', '횟수 TIMES')
- 문자열(STR)에서 시작지점부터 TIMES번째 나타난 TARGET 문자의 위치를 찾아줌
▣ 예제 및 결과
# 예제 Table
WITH EXAMPLE AS(
SELECT '오늘보다 발전한 내일의 내가 되기를' STR FROM DUAL
)
SELECT
INSTR(STR, ' '), --' ' STR에서 띄어쓰기 있는 문자 위치 찾기
INSTR(STR, ' ', 7), --STR의 7째 문자부터 띄어쓰기가 있는 문자 위치 찾기
INSTR(STR, ' ', 7,2), --STR의 7째 문자부터 2번째 띄어쓰기가 있는 문자 찾기
SUBSTR(STR, 0, INSTR(STR, ' ', 1, 2)) --띄어쓰기 2번째 문자열까지 문자열 자르기
FROM
EXAMPLE
INSTR(STR,'') | INSTR(STR,'',7) | INSTR(STR,'',7,2) | SUBSTR(STR,0,INSTR(STR,'',1,2)) |
5 | 9 | 13 | 오늘보다 발전한 |
References
반응형
'Programming > SQL' 카테고리의 다른 글
[MySQL] 문자열 함수 정리 (0) | 2021.09.12 |
---|---|
MySQL Workbench 설치 (Windows) (2) | 2021.08.29 |
[MySQL] EXISTS와 IN 사용법 비교하기 (예제) (0) | 2021.08.05 |
[SQL] 상위 n개 데이터 조회하기 (0) | 2021.08.02 |
[SQL] null 처리하기 (조회, 대체) (0) | 2021.07.29 |
댓글