나는야 데이터사이언티스트/SQL

[MySQL/Oracle]오라클로 substring_index 사용하기

우주먼지의하루 2020. 7. 30. 00:02
728x90

오라클로 substring_index 사용하는 방법을 알아보기 전에 MySQL에서 substring_index를 어떻게 사용하는지부터 알아보자.

 

substring_index

SUBSTRING_INDEX(
     1번째 인수 : 컬럼명
     2번째 인수 : 기준문자, 구분 문자
     3번째 인수 : 보여질 위치, 위치 기준 음수(-)는 뒷부분 부터, 양수(+)는 앞부분 부터
)

 

substring_index Example

SELECT SUBSTRING_INDEX("www.google.com",'.',1) FROM DUAL;
#결과값 : www

SELECT SUBSTRING_INDEX("www.google.com",'.',2) FROM DUAL;
#결과값 : www.google

SELECT SUBSTRING_INDEX("www.google.com",'.',-1) FROM DUAL;
#결과값 : com

SELECT SUBSTRING_INDEX("www.google.com",'.',-2) FROM DUAL;
#결과값 : google.com

 

 

Oracle로 substring_index 을 사용하는 방법

 

SELECT substr("www.google.com",1,instr("www.google.com",'.',1,1)-1) FROM DUAL;
#결과값 : www

SELECT substr("www.google.com",1,instr("www.google.com",'.',1,2)-1) FROM DUAL;
#결과값 : www.google

SELECT substr("www.google.com",instr("www.google.com",'.',1,2)+1,3) FROM DUAL;
#결과값 : com

 

 

아래는 instr, substr의 사용방법입니다.

 

 

instr

INSTR(
     1번째 인수 : 컬럼명
     2번째 인수 : 기준문자, 구분 문자
     3번째 인수 : 시작시점
     4번째 인수 : n번째 검색단어
)

instr Example

SELECT instr("www.google.com",'.',1,1) FROM DUAL;
#결과값 : 4

SELECT SUBSTRING_INDEX("www.google.com",'.',1,2) FROM DUAL;
#결과값 : 11

SELECT SUBSTRING_INDEX("www.google.com",'.',-1,1) FROM DUAL;
#결과값 : 11

 

substr

SUBSTR(
     1번째 인수 : 컬럼명
     2번째 인수 : 시작위치
     3번째 인수 : 자를 길이
)

substr Example

SELECT substr("www.google.com",1,1) FROM DUAL;
#결과값 : w

SELECT substr("www.google.com",1,2) FROM DUAL;
#결과값 : www

SELECT substr("www.google.com",4,3) FROM DUAL;
#결과값 : goo

SELECT substr("www.google.com",-1,3) FROM DUAL;
#결과값 : com
반응형