in()
in() 함수는 첫 번째 인수의 평가 결과가 나머지 인수 목록 중 하나와 일치하면 true, 그렇지 않으면 false를 반환합니다.
문법
in(NEEDLE, VAL1, VAL2[, ...])
매개변수
NEEDLE- 검색 대상 표현식입니다.
VAL1,VAL2, ...NEEDLE과 비교할 값 목록입니다. 문자열 값에는 와일드카드*를 사용할 수 있습니다.
설명
in() 함수는 NEEDLE을 평가한 뒤, 나머지 값 목록을 순서대로 비교합니다. 다음 규칙에 따라 일치 여부를 판정합니다.
- 비교 값이 문자열이고
*를 포함하지 않으면 완전 일치로 비교합니다. - 비교 값이 문자열이고
*를 포함하면 와일드카드 패턴으로 비교합니다.*는 임의의 문자열에 대응합니다. - 비교 값이 숫자, 불리언 등 문자열이 아닌 표현식이면 평가 결과를 비교합니다.
NEEDLE이 null이면 false를 반환합니다.
하나라도 일치하면 즉시 true를 반환합니다. 반환 타입은 항상 불리언입니다.
오류 코드
해당 사항 없음
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
HTTP 메서드가 목록 중 하나와 일치하는지 검사
table limit=5 WEB_APACHE_SAMPLE | eval result = in(method, "GET", "POST") | fields method, result -
특정 HTTP 메서드 레코드만 필터링
table limit=5 WEB_APACHE_SAMPLE | search in(method, "GET", "POST") | # GET 또는 POST 요청 레코드만 출력 -
와일드카드를 사용한 User-Agent 부분 일치 검사
table limit=5 WEB_APACHE_SAMPLE | eval result = in(agent, "*Googlebot*", "*bingbot*") | fields agent, result -
상태 코드 목록과 비교
table limit=5 WEB_APACHE_SAMPLE | eval result = in(status, 200, 301, 302) | fields status, result -
NULL 입력
json "{'method': null}" | eval result = in(method, "GET", "POST") | # result: false
호환성
in() 함수는 소나 4.0 이전 버전부터 제공되었습니다.