DBMS/MySQL
MySQL 특정단어 포함까지 글자 잘라낸 후 SELECT 하기
악마성
2020. 6. 2. 16:51
728x90
반응형
특정 단어 포함된 것 까지 잘라내기 후 SELECT 하기
가끔 데이터를 보여줄 때 어느 부분 이전만 잘라내서 select 하여 가져올 경우가 있는데
이럴 때 데이터를 가공하여 처리를 할 수가 있다.
예를 들어 "_" 언더바까지만 잘라낸다고 하면
1. 언더바의 위치를 찾고
2. 위치만큼 글자를 잘라낸다.
정도가 될 수 있는데 다행히도 내장 함수들이 있어서 너무 간편하게 자를 수 있다.
<기대결과>
<쿼리>
TRIM(SUBSTR(ItemName, 1,INSTR(ItemName,'_')-1))
▶ TRIM : 공백을 제거해주는 함수
▶ SUBSTR : 글자의 시작부터 길이만큼 글자를 잘라냄
SUBSTR(대상 문자, 시작인덱스, 길이)
▶ INSTR : 특정문자의 위치를 리턴 함
INSTR(대상 문자, 찾을 문자)
즉, 언더바의 위치를 INSTR로 찾아서 위치 4를 찾고
SUBSTR로 처음부터 위치 4까지 잘라낸 후 언더바의 위치인 4 니까 언더바까지 포함 된 문자가 나오니 -1을 해준다.
728x90
반응형