반응형
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 순서로 자른 것이다.
반응형
'Devleop > MySQL' 카테고리의 다른 글
[MySQL] JOIN : 테이블 합치기 (INNER, LEFT, RIGHT, FULL OUTER) (1) | 2023.05.06 |
---|---|
[MySQL] GROUP : 데이터 그룹화, 집계 함수 (HAVING, COUNT, SUM, MAX, MIN, AVG) (1) | 2023.05.06 |
[MySQL] CASE 문 : 조건에 따라 값 정하기 (CASE WHEN THEN END) (0) | 2023.05.06 |