라이브러리
[MYSQL] SUBSTRING_INDEX(str, delim, count) - 특정 구분자 기준으로 문자열 자르기
SUBSTRING_INDEX 함수
MySQL의 SUBSTRING_INDEX 함수는 문자열에서 특정 문자열을 제거하거나 추출하는 데 사용됩니다. 이 함수는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
sql
SUBSTRING_INDEX(str, delim, count)
- `str`: 추출하거나 제거할 문자열입니다.
- `delim`: 문자열을 분리하는 데 사용되는 구분 문자입니다.
- `count`: 구분 문자를 사용하여 문자열을 분리하고 추출하거나 제거할 횟수입니다.
예제
1. 문자열에서 특정 문자열을 제거하기
예를 들어, "hello,world,mysql"라는 문자열에서 ",world,"를 제거하고 싶다면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
sql
SELECT SUBSTRING_INDEX('hello,world,mysql', ',', 1) AS result;
결과: "hello"
2. 문자열에서 특정 문자열을 추출하기
예를 들어, "hello,world,mysql"라는 문자열에서 ",world,"를 추출하고 싶다면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
sql
SELECT SUBSTRING_INDEX('hello,world,mysql', ',', -2) AS result;
결과: "world,mysql"
3. 문자열에서 특정 문자열을 제거하고 추출하기
예를 들어, "hello,world,mysql"라는 문자열에서 ",world,"를 제거하고 ",mysql,"를 추출하고 싶다면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
sql
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('hello,world,mysql', ',', 1), ',', -1) AS result;
결과: "mysql"
4. 문자열에서 특정 문자열을 제거하고 추출하는 데 사용되는 count의 값이 음수일 때
예를 들어, "hello,world,mysql"라는 문자열에서 ",world,"를 제거하고 ",mysql,"를 추출하고 싶다면 다음과 같이 사용할 수 있습니다. count의 값이 음수인 경우, 문자열의 끝에서부터 count의 절대값만큼의 문자열을 제거하고 추출합니다.
#hostingforum.kr
sql
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('hello,world,mysql', ',', -2), ',', -1) AS result;
결과: "mysql"
주의점
- `count`의 값이 0인 경우, `str`의 모든 문자열이 제거됩니다.
- `count`의 값이 음수인 경우, 문자열의 끝에서부터 `count`의 절대값만큼의 문자열이 제거됩니다.
- `delim`이 `str`에 포함되지 않은 경우, `str`의 모든 문자열이 제거됩니다.
댓글목록
등록된 댓글이 없습니다.