substr()

substr() 함수는 문자열에서 지정한 인덱스 범위에 해당하는 부분 문자열을 반환합니다.

문법

substr(STR, BEGIN[, END])

매개변수

STR
원본 문자열 필드 또는 값입니다. 문자열이 아닌 값은 문자열로 변환하여 처리합니다.
BEGIN
추출을 시작할 문자 인덱스입니다. 인덱스는 0부터 시작합니다. 음수이면 문자열 끝에서부터 역방향으로 계산합니다. 시작 인덱스가 문자열 길이 이상이거나 변환 후 0 미만이면 null을 반환합니다.
END
(선택) 추출을 끝낼 문자 인덱스(미포함)입니다. 인덱스는 0부터 시작합니다. 생략하면 문자열 끝까지 추출합니다. 음수이면 문자열 끝에서부터 역방향으로 계산합니다. END가 문자열 길이보다 크면 문자열 끝까지 추출합니다. BEGINEND보다 크거나 변환 후 0 미만이면 null을 반환합니다.

설명

substr() 함수는 STR 문자열의 BEGIN 인덱스(포함)부터 END 인덱스(미포함)까지의 부분 문자열을 반환합니다.

  • STRnull이면 null을 반환합니다.
  • BEGINnull이면 STR 전체를 반환합니다.
  • ENDBEGIN이 같으면 빈 문자열("")을 반환합니다.

오류 코드

해당 사항 없음

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. URI의 앞부분 10자 추출

    table limit=5 WEB_APACHE_SAMPLE | eval result = substr(uri, 0, 10) | fields uri, result
    
  2. 시작 인덱스만 지정하여 URI의 첫 번째 / 이후 부분 추출

    table limit=5 WEB_APACHE_SAMPLE | eval result = substr(uri, 1) | fields uri, result
    | # result: "feed", "archives/2370" 등
    
  3. 음수 인덱스로 URI 끝부분 추출

    table limit=5 WEB_APACHE_SAMPLE | eval result = substr(uri, -5) | fields uri, result
    
  4. NULL 입력

    json "{'val': null}" | eval result = substr(val, 0, 3)
    | # result: null
    

호환성

substr() 함수는 소나 4.0 이전 버전부터 제공되었습니다.