MySQL 특정단어 포함까지 글자 잘라낸 후 SELECT 하기

2020. 6. 2. 16:51DBMS/MySQL

728x90
반응형

 

특정 단어 포함된 것 까지 잘라내기 후 SELECT 하기 

 

가끔 데이터를 보여줄 때 어느 부분 이전만 잘라내서 select 하여 가져올 경우가 있는데

이럴 때 데이터를 가공하여 처리를 할 수가 있다.

 

예를 들어 "_" 언더바까지만 잘라낸다고 하면 

1. 언더바의 위치를 찾고

2. 위치만큼 글자를 잘라낸다.

 

정도가 될 수 있는데 다행히도 내장 함수들이 있어서 너무 간편하게 자를 수 있다.



<기대결과>



<쿼리>

TRIM(SUBSTR(ItemName, 1,INSTR(ItemName,'_')-1))

▶ TRIM : 공백을 제거해주는 함수


SUBSTR : 글자의 시작부터 길이만큼 글자를 잘라냄

   SUBSTR(대상 문자, 시작인덱스,  길이)

 

INSTR : 특정문자의 위치를 리턴 함

  INSTR(대상 문자, 찾을 문자) 

 

즉, 언더바의 위치를 INSTR로 찾아서 위치 4를 찾고

SUBSTR로 처음부터 위치 4까지 잘라낸 후 언더바의 위치인 4 니까 언더바까지 포함 된 문자가 나오니 -1을 해준다.

 

 

 

 

728x90
반응형