728x90
Mysql의 문자열을 나누는 함수는 글자 수로 나누는 SUBSTRING, 구분자로 나누는 SUBSTRING_INDEX가 있다.
SUBSTRING 사용 형태
SUBSTRING(문자열, 시작위치, 가져올 문자수)
3번째 인덱스인 가져올 문자수를 비워두면 문자열의 끝까지 가져온다.
시작위치가 음수라면 끝에서부터 역순으로 가져온다.
SUBSTRING 예제
SELECT SUBSTRING('가나다라마바사임마', 3)
> 다라마바사임마
SELECT SUBSTRING('가나다라마바사임마', -3)
> 사임마
SELECT SUBSTRING('가나다라마바사임마', 3, 5)
> 다라마바사
SELECT SUBSTRING('가나다라마바사임마', 3, 1)
> 다
SELECT SUBSTRING('가나다라마바사임마', -3, 2)
> 사임
SUBSTRING_INDEX 사용 형태
SUBSTRING_INDEX(문자열, 구분자, 가져올 수)
가져올 수는 구분자로 나눠진 덩어리를 몇개 까지 가져오는지에 대한 값을 말한다.
SUBSTRING_INDEX 예제
SELECT SUBSTRING_INDEX('가나 다라 마바 사', ' ', 3)
> 가나 다라 마바
SELECT SUBSTRING_INDEX('가나 다라 마바 사', ' ', -3)
> 다라 마바 사
SELECT SUBSTRING_INDEX('가나,다라,마바,사', ',', 1)
> 가나
SELECT SUBSTRING_INDEX('가나,다라,마바,사', ' ', 1)
> 가나,다라,마바,사
SQL에 split같은 함수가 없기 때문에 SUBSTRING_INDEX을 이용하면 배열 리턴은 아니지만 구분값으로 나눠진 문자를 가져올 수 있다.
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('가나 다라 마바 사', ' ', 3), ' ', -1)
> 마바
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('가나 다라 마바 사', ' ', 2), ' ', -1)
> 다라
728x90
'DB' 카테고리의 다른 글
Mysql 인덱스에 대해서 (0) | 2022.04.04 |
---|---|
Mysql, MariaDB Incorrect string value 이모티콘 이모지 에러 (2) | 2021.09.27 |
MySQL 이벤트 스케줄러 등록 (0) | 2021.08.25 |
MongoDB 설치 - Window (0) | 2020.11.29 |