Overview

isnan

isnan is essential for data quality work. Operations such as log of a negative number, sqrt of a negative number, or 0 / 0 produce NaN in APL. Use isnan to detect and filter these invalid values before aggregating, charting, or alerting on your data.

Usage#

Syntax#

isnan(x)

Parameters#

Name Type Required Description
x real Yes The numeric value to check.

Returns#

true if x is NaN. false for finite values and infinity.

  • isfinite: Returns true for values that are neither infinite nor NaN. Use it for a combined check covering all invalid float states.
  • isinf: Returns true only for infinite values. Use it alongside isnan to cover all edge cases.
  • isint: Returns true for integer values. Use it for whole-number validation rather than float validity.
  • log: Returns the natural logarithm. Use isnan to catch NaN results when log is applied to non-positive values.
  • sqrt: Returns the square root. Use isnan to detect NaN results from sqrt on negative inputs.

Other query languages#

Splunk SPL users

Splunk SPL includes the isnan() function, which works the same way as in APL: it returns true (1) when the value is NaN.

Splunk example

| eval is_nan = isnan(value)

APL equivalent

['sample-http-logs']
| extend is_nan = isnan(value)
ANSI SQL users

Standard SQL does not define an ISNAN() function. In most dialects, NaN is not a concept; division by zero raises an error instead. However, some databases (such as PostgreSQL) do support NaN as a float value, and you check for it with value = 'NaN'.

SQL example

SELECT CASE WHEN value = 'NaN' THEN 1 ELSE 0 END AS is_nan FROM logs

APL equivalent

['sample-http-logs']
| extend is_nan = isnan(value)

Updated

Was this page helpful?