in()

in() 함수는 첫 번째 인수의 평가 결과가 나머지 인수 목록 중 하나와 일치하면 true, 그렇지 않으면 false를 반환합니다.

문법

in(NEEDLE, VAL1, VAL2[, ...])

매개변수

NEEDLE
검색 대상 표현식입니다.
VAL1, VAL2, ...
NEEDLE과 비교할 값 목록입니다. 문자열 값에는 와일드카드 *를 사용할 수 있습니다.

설명

in() 함수는 NEEDLE을 평가한 뒤, 나머지 값 목록을 순서대로 비교합니다. 다음 규칙에 따라 일치 여부를 판정합니다.

  • 비교 값이 문자열이고 *를 포함하지 않으면 완전 일치로 비교합니다.
  • 비교 값이 문자열이고 *를 포함하면 와일드카드 패턴으로 비교합니다. *는 임의의 문자열에 대응합니다.
  • 비교 값이 숫자, 불리언 등 문자열이 아닌 표현식이면 평가 결과를 비교합니다.

NEEDLEnull이면 false를 반환합니다.

하나라도 일치하면 즉시 true를 반환합니다. 반환 타입은 항상 불리언입니다.

오류 코드

해당 사항 없음

사용 예

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

  1. HTTP 메서드가 목록 중 하나와 일치하는지 검사

    table limit=5 WEB_APACHE_SAMPLE | eval result = in(method, "GET", "POST") | fields method, result
    
  2. 특정 HTTP 메서드 레코드만 필터링

    table limit=5 WEB_APACHE_SAMPLE | search in(method, "GET", "POST")
    | # GET 또는 POST 요청 레코드만 출력
    
  3. 와일드카드를 사용한 User-Agent 부분 일치 검사

    table limit=5 WEB_APACHE_SAMPLE | eval result = in(agent, "*Googlebot*", "*bingbot*") | fields agent, result
    
  4. 상태 코드 목록과 비교

    table limit=5 WEB_APACHE_SAMPLE | eval result = in(status, 200, 301, 302) | fields status, result
    
  5. NULL 입력

    json "{'method': null}" | eval result = in(method, "GET", "POST")
    | # result: false
    

호환성

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