Devleop/MySQL

[MySQL] 원하는 문자열 부분 가져오기 (LEFT, MID, RIGHT)

hwajae 2023. 5. 6. 02:07
반응형

MySQL 사용하면서 원하는 문자열만 가져오고 싶은 경우가 생길 것이고 대표적으로 3가지를 볼 수 있다.

LEFT 왼쪽에서부터 자르기
RIGHT 오른쪽에서부터 자르기
MID 가운데에서 특정 구간 자르기

SUBSTR, SUBSTRING도 존재하는데, MID랑 같은 기능으로 한다고 보면 된다.

 

LEFT

SELECT LEFT(컬럼, 가져올 개수)
FROM TABLE
;

컬럼, 어떤 행의 값이 ABCDEF 라는 단어가 존재할 때 LEFT(컬럼, 3) 은 ABC를 추출하게 된다.

RIGHT

SELECT RIGHT(컬럼, 가져올 개수)
FROM TABLE
;

컬럼, 어떤 행의 값이 ABCDEF 라는 단어가 존재할 때 RIGHT(컬럼, 3) 은 DEF를 추출하게 된다.

MID, SUBSTR, SUBSTRING

SELECT MID(컬럼, 시작 ix, 가져올 개수)
FROM TABLE
;

SELECT SUBSTR(컬럼, 시작 ix, 가져올 개수)
FROM TABLE
;

SELECT SUBSTRING(컬럼, 시작 ix, 가져올 개수)
FROM TABLE
;

컬럼, 어떤 행의 값이 ABCDEF 라는 단어가 존재할 때 MID(컬럼, 2, 3) 은 BCD를 추출하게 된다.

값의 두번째 시작 위치부터 3개를 가져온다. 나머지 SUBSTR, SUBSTRING 역시 같은 결과 값을 보여준다.

 

특정 문자열을 가져와서 합치거나 비교할 때 많이 이용되는 개념들이다. 대표적으로 3가지는 기억하도록 하자.

이해가 가질 않는다면 아래 예시를 보면 될 것이다. 

 

SELECT TITLE, LEFT(TITLE, 3), RIGHT(TITLE, 3), MID(TITLE, 4, 4) FROM FILM;

쿼리 실행 결과 값

FILM 이라는 TABLE에서 TITLE 기준으로 LEFT, RIGHT, MID 순서로 자른 것이다.

 

반응형