Documentation

InfluxQL miscellaneous functions

InfluxDB 3 Core is in Public Alpha

InfluxDB 3 Core is in public alpha and available for testing and feedback, but is not meant for production use. Both the product and this documentation are works in progress. We welcome and encourage your input about your experience with the alpha and invite you to join our public channels for updates and to share feedback.

Alpha expectations and recommendations

Use InfluxQL miscellaneous functions to perform different operations in InfluxQL queries.

fill()

Fills null field values returned from empty time windows in GROUP BY time() queries with a specified fill value.

Supported only in the GROUP BY clause.

fill(behavior)

Arguments

  • behavior: Defines the behavior of the fill operation. If no FILL clause is included, the default behavior is fill(null).

    The following options are available:

    • numeric literal: Replaces null values with the specified numeric literal.
    • linear: Uses linear interpolation between existing values to replace null values.
    • none: Removes rows with null field values.
    • null: Keeps null values and associated timestamps.
    • previous: Replaces null values with the most recent non-null value.

Examples

The following example uses the Bitcoin price sample dataset.

SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(0)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z0
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(linear)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z29285.3651
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(none)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(null)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(previous)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z29307.4416
2023-05-01T01:30:00Z29263.2886

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB 3 Open Source Now in Public Alpha

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

We are releasing two products as part of the alpha.

InfluxDB 3 Core, is our new open source product. It is a recent-data engine for time series and event data. InfluxDB 3 Enterprise is a commercial version that builds on Core’s foundation, adding historical query capability, read replicas, high availability, scalability, and fine-grained security.

For more information on how to get started, check out: