isinf()

isinf() 함수는 인수로 전달된 값이 양의 무한대 또는 음의 무한대인지 검사하여 불리언 값을 반환합니다.

문법

isinf(EXPR)

매개변수

EXPR
무한대 여부를 검사할 필드 이름 또는 표현식.

설명

isinf() 함수는 EXPR을 평가한 결과가 실수 타입(double, float)의 양의 무한대 또는 음의 무한대이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

정수, 문자열, null 등 무한대가 될 수 없는 값과 무한대가 아닌 유한한 실수·NaN 값에는 false를 반환합니다. isnull(), isnum() 함수와 마찬가지로 결과가 항상 truefalse로 결정되며 null을 반환하지 않습니다.

log처럼 0을 입력하면 무한대를 반환하는 수학 함수가 있습니다. 예를 들어 log(0)은 음의 무한대를 반환합니다. 이런 값은 이후 집계나 다운로드 단계에서 예기치 않은 결과를 만들 수 있으므로, isinf() 함수로 걸러낼 수 있습니다. sqrt, acos처럼 정의역이 있는 다른 수학 함수는 정의역을 벗어난 값이 입력되면 무한대가 아닌 NaN을 반환합니다(isnan() 참고). 나눗셈은 분모가 0이면 결과를 null로 처리하므로 무한대를 만들지 않습니다.

오류 코드

오류 코드설명
99000인자를 지정하지 않고 호출한 경우

사용 예

  1. 정의역을 벗어난 로그 계산 결과 검사

    json "{'val': 0}" | eval result = isinf(log(val))
    | # result: true
    
  2. 정상적인 실수 값에 대한 검사

    json "{'val': 3.14}" | eval result = isinf(val)
    | # result: false
    
  3. NULL 입력

    json "{'val': null}" | eval result = isinf(val)
    | # result: false
    
  4. 문자열 입력 — 무한대가 될 수 없는 타입은 false

    json "{'val': 'foo'}" | eval result = isinf(val)
    | # result: false
    

변경 이력

isinf() 함수는 소나 4.0.2609.0 버전부터 사용 가능합니다.