Use InfluxQL miscellaneous functions to perform different operations in InfluxQL queries. - [fill()](#fill) ## 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](/influxdb/version/reference/influxql/group-by/)._ ```sql 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 {#fill-examples} The following example uses the [Bitcoin price sample dataset](/influxdb/version/reference/sample-data/#bitcoin-price-data). {{< tabs-wrapper >}} {{% tabs "small" %}} [fill(numeric_literal)](#) [fill(linear)](#) [fill(none)](#) [fill(null)](#) [fill(previous)](#) {{% /tabs %}} {{% tab-content %}} ```sql 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) ``` {{% influxql/table-meta %}} name: bitcoin {{% /influxql/table-meta %}} | time | mean | | :------------------- | ---------: | | 2023-05-01T00:00:00Z | 29319.9092 | | 2023-05-01T00:30:00Z | 29307.4416 | | 2023-05-01T01:00:00Z | 0 | | 2023-05-01T01:30:00Z | 29263.2886 | {{% /tab-content %}} {{% tab-content %}} ```sql 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) ``` {{% influxql/table-meta %}} name: bitcoin {{% /influxql/table-meta %}} | time | mean | | :------------------- | ---------: | | 2023-05-01T00:00:00Z | 29319.9092 | | 2023-05-01T00:30:00Z | 29307.4416 | | 2023-05-01T01:00:00Z | 29285.3651 | | 2023-05-01T01:30:00Z | 29263.2886 | {{% /tab-content %}} {{% tab-content %}} ```sql 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) ``` {{% influxql/table-meta %}} name: bitcoin {{% /influxql/table-meta %}} | time | mean | | :------------------- | ---------: | | 2023-05-01T00:00:00Z | 29319.9092 | | 2023-05-01T00:30:00Z | 29307.4416 | | 2023-05-01T01:30:00Z | 29263.2886 | {{% /tab-content %}} {{% tab-content %}} ```sql 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) ``` {{% influxql/table-meta %}} name: bitcoin {{% /influxql/table-meta %}} | time | mean | | :------------------- | ---------: | | 2023-05-01T00:00:00Z | 29319.9092 | | 2023-05-01T00:30:00Z | 29307.4416 | | 2023-05-01T01:00:00Z | | | 2023-05-01T01:30:00Z | 29263.2886 | {{% /tab-content %}} {{% tab-content %}} ```sql 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) ``` {{% influxql/table-meta %}} name: bitcoin {{% /influxql/table-meta %}} | time | mean | | :------------------- | ---------: | | 2023-05-01T00:00:00Z | 29319.9092 | | 2023-05-01T00:30:00Z | 29307.4416 | | 2023-05-01T01:00:00Z | 29307.4416 | | 2023-05-01T01:30:00Z | 29263.2886 | {{% /tab-content %}} {{< /tabs-wrapper >}}