Documentation

SQL conditional functions

The InfluxDB Clustered SQL implementation supports the following conditional functions for conditionally handling null values:

coalesce

Returns the first of its arguments that is not null. Returns null if all arguments are null. This function is often used to substitute a default value for null values.

coalesce(expression1[, ..., expression_n])
Arguments
  • expression1, expression_n: Expression to use if previous expressions are null. Can be a constant, column, or function, and any combination of arithmetic operators. Pass as many expression arguments as necessary.

View coalesce query example

greatest

Returns the greatest value in a list of expressions. Returns null if all expressions are null.

greatest(expression1[, ..., expression_n])
Arguments
  • expression1, expression_n: Expressions to compare and return the greatest value. Can be a constant, column, or function, and any combination of arithmetic operators. Pass as many expression arguments as necessary.

View greatest query example

ifnull

Alias of nvl.

least

Returns the least value in a list of expressions. Returns null if all expressions are null.

least(expression1[, ..., expression_n])
Arguments
  • expression1, expression_n: Expressions to compare and return the least value. Can be a constant, column, or function, and any combination of arithmetic operators. Pass as many expression arguments as necessary.

View least query example

nullif

Returns null if expression1 equals expression2; otherwise it returns expression1. This can be used to perform the inverse operation of coalesce.

nullif(expression1, expression2)
Arguments
  • expression1: Expression to compare and return if equal to expression2. Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression2: Expression to compare to expression1. Can be a constant, column, or function, and any combination of arithmetic operators.

View nullif query example

nvl

Returns expression2 if expression1 is null; otherwise it returns expression1.

nvl(expression1, expression2)
Arguments
  • expression1: Return this expression if not null. Can be a constant, column, or function, and any combination of arithmetic operators.
  • expression2: Return this expression if expression1 is null. Can be a constant, column, or function, and any combination of arithmetic operators.

View nvl query example

nvl2

Returns expression2 if expression1 is not null; otherwise it returns expression3.

nvl2(expression1, expression2, expression3)
Arguments
  • expression1: First expression to test for null. Can be a constant, column, or function, and any combination of operators.
  • expression2: Second expression to return if expression1 is not null. Can be a constant, column, or function, and any combination of operators.
  • expression3: Expression to return if expression1 is null. Can be a constant, column, or function, and any combination of operators.

View nvl2 query example


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2