long()
값을 64비트 정수로 변환합니다.
문법
long(EXPR)
매개변수
EXPR- 64비트 정수로 변환할 값 또는 식.
설명
long() 함수는 인수를 64비트 정수(long)로 변환하여 반환합니다. 인수가 null이면 null을 반환합니다. 변환에 실패한 경우에도 null을 반환합니다.
지원하는 입력 타입별 동작은 다음과 같습니다.
- 숫자:
longValue()를 호출하여 변환합니다. 값이 64비트 정수 범위를 벗어나는 float이나 double이면null을 반환합니다. - IPv4 주소: 4바이트를 unsigned 정수로 변환합니다. 예를 들어
192.0.2.1은3221225985로 반환됩니다. - 문자열: 10진수로 파싱합니다. 빈 문자열이면
null을 반환합니다. - 배열 또는 리스트: 각 요소에 대해 재귀적으로 변환을 수행합니다.
현재 10진수(기수 10)만 지원합니다. 다른 기수를 지정하면 쿼리 파싱 시점에 오류가 발생합니다.
오류 코드
| 오류 코드 | 설명 |
|---|---|
| 90840 | 10이 아닌 기수를 지정한 경우 |
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
접속 IP 주소(
src_ip)를 64비트 정수로 변환table limit=5 WEB_APACHE_SAMPLE | eval result = long(src_ip) | fields src_ip, result | # result: IP 주소를 unsigned 정수로 변환한 값 -
응답 크기(
bytes)를 64비트 정수로 변환table limit=5 WEB_APACHE_SAMPLE | eval result = long(bytes) | fields bytes, result | # result: bytes 필드와 동일한 64비트 정수 값 -
변환 불가능한 문자열
json "{'val': 'invalid'}" | eval result = long(val) | # result: null -
NULL 입력
json "{'val': null}" | eval result = long(val) | # result: null
호환성
long() 함수는 소나 4.0 이전 버전부터 제공되었습니다.