split()

split() 함수는 문자열을 지정한 구분자를 기준으로 분리하여 문자열 배열로 반환합니다.

문법

split(STR, DELIMITER[, LIMIT])

매개변수

STR
분리할 원본 문자열 필드 또는 값입니다.
DELIMITER
문자열을 분리할 구분자 문자열입니다. 빈 문자열은 허용되지 않습니다.
LIMIT
(선택) 반환할 배열 요소의 최대 개수입니다. 2 이상의 정수여야 합니다. 지정하면 문자열 앞에서부터 최대 LIMIT - 1개의 구분자를 찾고, 나머지 부분은 마지막 요소로 반환합니다.

설명

split() 함수는 STR 문자열을 DELIMITER로 분리한 문자열 배열을 반환합니다.

  • STR 또는 DELIMITERnull이면 null을 반환합니다.
  • STR이 빈 문자열이면 빈 배열([])을 반환합니다.
  • STRDELIMITER가 없으면 원본 문자열 전체를 단일 요소로 갖는 배열을 반환합니다.
  • LIMIT를 생략하면 모든 구분자를 기준으로 분리합니다.
  • LIMITnull이거나 정수가 아니거나 2 미만이면 null을 반환합니다.
  • DELIMITER가 빈 문자열이면 오류 코드 90770이 발생합니다.
  • LIMIT에 2 미만의 상수 또는 정수가 아닌 상수를 지정하면 오류 코드 90771이 발생합니다.

오류 코드

오류 코드설명
90770DELIMITER에 빈 문자열을 지정한 경우
90771LIMIT에 2 미만의 정수 또는 정수가 아닌 상수를 지정한 경우

사용 예

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

  1. URI를 /로 분리하여 경로 세그먼트 배열 추출

    table limit=5 WEB_APACHE_SAMPLE | eval result = split(uri, "/") | fields uri, result
    | # result: ["", "archives", "2370"] 등
    
  2. LIMIT를 지정하여 첫 번째 경로 세그먼트와 나머지 분리

    table limit=5 WEB_APACHE_SAMPLE | eval result = split(uri, "/", 3) | fields uri, result
    
  3. 구분자가 없는 경우

    json "{'val': 'logpresso'}" | eval result = split(val, ",")
    | # result: ["logpresso"]
    
  4. NULL 입력

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

호환성

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