split()
split() 함수는 문자열을 지정한 구분자를 기준으로 분리하여 문자열 배열로 반환합니다.
문법
split(STR, DELIMITER[, LIMIT])
매개변수
STR- 분리할 원본 문자열 필드 또는 값입니다.
DELIMITER- 문자열을 분리할 구분자 문자열입니다. 빈 문자열은 허용되지 않습니다.
LIMIT- (선택) 반환할 배열 요소의 최대 개수입니다. 2 이상의 정수여야 합니다. 지정하면 문자열 앞에서부터 최대
LIMIT - 1개의 구분자를 찾고, 나머지 부분은 마지막 요소로 반환합니다.
설명
split() 함수는 STR 문자열을 DELIMITER로 분리한 문자열 배열을 반환합니다.
STR또는DELIMITER가null이면null을 반환합니다.STR이 빈 문자열이면 빈 배열([])을 반환합니다.STR에DELIMITER가 없으면 원본 문자열 전체를 단일 요소로 갖는 배열을 반환합니다.LIMIT를 생략하면 모든 구분자를 기준으로 분리합니다.LIMIT가null이거나 정수가 아니거나 2 미만이면null을 반환합니다.DELIMITER가 빈 문자열이면 오류 코드90770이 발생합니다.LIMIT에 2 미만의 상수 또는 정수가 아닌 상수를 지정하면 오류 코드90771이 발생합니다.
오류 코드
| 오류 코드 | 설명 |
|---|---|
| 90770 | DELIMITER에 빈 문자열을 지정한 경우 |
| 90771 | LIMIT에 2 미만의 정수 또는 정수가 아닌 상수를 지정한 경우 |
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
URI를
/로 분리하여 경로 세그먼트 배열 추출table limit=5 WEB_APACHE_SAMPLE | eval result = split(uri, "/") | fields uri, result | # result: ["", "archives", "2370"] 등 -
LIMIT를 지정하여 첫 번째 경로 세그먼트와 나머지 분리
table limit=5 WEB_APACHE_SAMPLE | eval result = split(uri, "/", 3) | fields uri, result -
구분자가 없는 경우
json "{'val': 'logpresso'}" | eval result = split(val, ",") | # result: ["logpresso"] -
NULL 입력
json "{'val': null}" | eval result = split(val, ",") | # result: null
호환성
split() 함수는 소나 4.0 이전 버전부터 제공되었습니다.