라이브러리

[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`의 모든 문자열이 제거됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색