long()

값을 64비트 정수로 변환합니다.

문법

long(EXPR)

매개변수

EXPR
64비트 정수로 변환할 값 또는 식.

설명

long() 함수는 인수를 64비트 정수(long)로 변환하여 반환합니다. 인수가 null이면 null을 반환합니다. 변환에 실패한 경우에도 null을 반환합니다.

지원하는 입력 타입별 동작은 다음과 같습니다.

  • 숫자: longValue()를 호출하여 변환합니다. 값이 64비트 정수 범위를 벗어나는 float이나 double이면 null을 반환합니다.
  • IPv4 주소: 4바이트를 unsigned 정수로 변환합니다. 예를 들어 192.0.2.13221225985로 반환됩니다.
  • 문자열: 10진수로 파싱합니다. 빈 문자열이면 null을 반환합니다.
  • 배열 또는 리스트: 각 요소에 대해 재귀적으로 변환을 수행합니다.

현재 10진수(기수 10)만 지원합니다. 다른 기수를 지정하면 쿼리 파싱 시점에 오류가 발생합니다.

오류 코드

오류 코드설명
9084010이 아닌 기수를 지정한 경우

사용 예

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

  1. 접속 IP 주소(src_ip)를 64비트 정수로 변환

    table limit=5 WEB_APACHE_SAMPLE | eval result = long(src_ip) | fields src_ip, result
    | # result: IP 주소를 unsigned 정수로 변환한 값
    
  2. 응답 크기(bytes)를 64비트 정수로 변환

    table limit=5 WEB_APACHE_SAMPLE | eval result = long(bytes) | fields bytes, result
    | # result: bytes 필드와 동일한 64비트 정수 값
    
  3. 변환 불가능한 문자열

    json "{'val': 'invalid'}" | eval result = long(val)
    | # result: null
    
  4. NULL 입력

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

호환성

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