더북(TheBook)

SUBSTR(str, pos, len), SUBSTRING(str, pos, len), MID(str, pos, len)

SUBSTR() 함수는 첫 번째 매개변수 str의 문자열에서 두 번째 매개변수 pos로 지정된 위치부터 세 번째 매개변수 len만큼 잘라 반환합니다. len은 생략 가능하며, 생략하면 str의 오른쪽 끝까지 잘라냅니다. 또한 pos 값에 음수도 넣을 수 있는데, 이때는 시작 위치를 왼쪽이 아닌 오른쪽 끝을 기준으로 잡습니다. 그리고 SUBSTRING(), MID() 함수는 SUBSTR() 함수와 사용법이 같습니다.

코드 6-19

SELECT SUBSTR('This Is MySQL', 6, 2) FIRST,
       SUBSTRING('This Is MySQL', 6) SECOND,
       MID('This Is MySQL', -5) THIRD;

실행결과

SUBSTR('This Is MySQL', 6, 2)는 ‘This Is MySQL’에서 6번째 문자인 I부터 2개의 문자를 가져오라는 뜻이므로 ‘Is’를 반환했습니다. SUBSTRING('This Is MySQL', 6)는 세 번째 매개변수가 생략됐으므로 6번째인 I부터 문자열 끝까지 가져와 ‘Is MySQL’을 반환했습니다. MID('This Is MySQL', -5)는 두 번째 매개변수가 -5로 음수입니다. 따라서 왼쪽이 아닌 오른쪽 끝에서부터 5번째 문자인 M이 시작 위치가 됩니다. 그리고 세 번째 매개변수가 생략됐으니 문자열 끝까지 가져와 ‘MySQL’을 반환했습니다.

좀 더 이해하기 쉽게 코드 6-19에서 사용한 각 함수와 매개변수에 따른 반환값을 그림에 담아 봤습니다. 색으로 표시한 부분이 반환되는 값입니다.

▲ 그림 6-4 SUBSTR( ), SUBSTRING( ), MID( ) 함수의 반환값

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.