콘텐츠로 이동

지정한 문자열의 특정 위치에서 시작하는 지정한 개수의 문자로 이루어진 문자열을 추출합니다.

  • len 인수가 없는 형식은 문자열 str의 위치 pos부터 시작하는 부분 문자열을 반환합니다.
  • len 인수가 있는 형식은 문자열 str의 위치 pos부터 시작하는 len 문자 길이의 부분 문자열을 반환합니다.

pos에 음수 값을 사용할 수도 있습니다. 이 경우 부분 문자열의 시작 위치는 문자열의 처음이 아니라 끝에서 pos개 문자만큼 떨어진 곳입니다. 이 함수의 모든 형식에서 pos에 음수 값을 사용할 수 있습니다. pos가 0이면 빈 문자열을 반환합니다. 부분 문자열을 추출할 문자열에서 첫 번째 문자의 위치는 1로 계산합니다.

func.substr(<str>, <pos>, <len>)
func.substr('Quadratically', 5, 6)
┌────────────────────────────────────┐
│ func.substr('Quadratically', 5, 6) │
├────────────────────────────────────┤
│ ratica │
└────────────────────────────────────┘
SUBSTR(<str>, <pos>)
SUBSTR(<str>, <pos>, <len>)
인수 설명
<str> 문자를 추출할 원본 문자열
<pos> 부분 문자열이 시작되는 위치(1부터 시작)입니다. 음수이면 끝에서부터 계산합니다.
<len> 추출할 부분 문자열의 최대 길이

VARCHAR

SELECT
SUBSTRING('Quadratically', 5),
SUBSTR('Quadratically', 5),
MID('Quadratically', 5);
┌─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ substring('quadratically' from 5) │ substring('quadratically' from 5) │ mid('quadratically', 5) │
├───────────────────────────────────┼───────────────────────────────────┼─────────────────────────┤
│ ratically │ ratically │ ratically │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘
SELECT
SUBSTRING('Quadratically', 5, 6),
SUBSTR('Quadratically', 5, 6),
MID('Quadratically', 5, 6);
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ substring('quadratically' from 5 for 6) │ substring('quadratically' from 5 for 6) │ mid('quadratically', 5, 6) │
├─────────────────────────────────────────┼─────────────────────────────────────────┼────────────────────────────┤
│ ratica │ ratica │ ratica │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘