isnan()

isnan() 함수는 인수로 전달된 값이 NaN(Not-a-Number)인지 검사하여 불리언 값을 반환합니다.

문법

isnan(EXPR)

매개변수

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

설명

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

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

log, sqrt, acos처럼 정의역이 있는 수학 함수는 정의역을 벗어난 값이 입력되면 NaN을 반환할 수 있습니다. 예를 들어 log(-1)은 NaN을 반환합니다. 이런 값은 이후 집계나 다운로드 단계에서 예기치 않은 결과를 만들 수 있으므로, isnan() 함수로 걸러낼 수 있습니다.

오류 코드

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

사용 예

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

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

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

    json "{'val': null}" | eval result = isnan(val)
    | # result: false
    
  4. 문자열 입력 — NaN이 될 수 없는 타입은 false

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

변경 이력

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