본문 바로가기
DB/MySQL

[MySQL] 문자열 일부를 추출하거나 자르는 함수

by Hyeri.dev 2023. 8. 27.

SUBSTRING()

: 원하는 길이만큼 추출

SUBSTRING(str, start, length)
  • str : 추출하고자 하는 원본 문자열
  • start : 추출할 문자열의 시작 위치 (1부터 시작한다.)
  • length : 추출할 문자열의 길이
SELECT SUBSTRING("Hello, World!", 7, 5);
-- 결과: "World"

SUBSTR()

: 원하는 부분에서 부분까지 추출

SUBSTR(str, start, end)
  • str : 추출하고자 하는 원본 문자열
  • start : 추출할 문자열의 시작 위치 (1부터 시작한다.)
  • end : 추출할 문자열의 마지막 위치
SELECT SUBSTR("Hello, World!", 7, 5);
-- 결과: "World"

LEFT()

: 왼쪽부터 원하는 길이만큼 추출

LEFT(str, length)
  • str : 추출하고자 하는 원본 문자열
  • length : 추출할 문자열의 길이
SELECT LEFT("Hello, World!", 5);
-- 결과: "Hello"

RIGHT()

: 오른쪽부터 원하는 길이만큼 추출

RIGHT(str, length)
  • str : 추출하고자 하는 원본 문자열
  • length : 추출할 문자열의 길이
SELECT RIGHT("Hello, World!", 6);
-- 결과: "World!"

 


SUBSTRING_INDEX()

: 특정 구분자를 기준으로 분리하여 부분 문자열을 추출

SUBSTRING_INDEX(str, delimiter, count)
  • str : 추출하고자 하는 원본 문자열
  • delimiter : 문자열을 분리할 구분자
  • count : 구분자를 기분으로 몇 번째까지 추출할지 나타내는 숫자
    • 양수인 경우 : 왼 -> 오
    • 음수인 경우 : 오 -> 왼
SELECT SUBSTRING_INDEX("apple,banana,cherry,orange", ",", 2);
-- 결과: "apple,banana"


SELECT SUBSTRING_INDEX("apple,banana,cherry,orange", ",", -2);
-- 결과: "cherry,orange"