---
title: locf() | Tiger Data Docs
description: Fill in missing values by carrying the last observed value forward
---

Since [1.1.1](https://github.com/timescale/timescaledb/releases/tag/1.1.1)

Fill in missing values by carrying the last observed value forward. Use in the same query as [`time_bucket_gapfill`](/docs/reference/timescaledb/hyperfunctions/time_bucket_gapfill/time_bucket_gapfill/index.md). `locf` cannot be nested inside another function call.

## Arguments

The syntax is:

```
SELECT locf(
    value = <anyelement>,
    prev = <anyelement>,
    treat_null_as_missing = true | false
);
```

| Name                    | Type        | Default | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------------- | ----------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `value`                 | ANY ELEMENT | -       | ✔        | The value to carry forward                                                                                                                                                                                                                                                                                                                                                                                                           |
| `prev`                  | EXPRESSION  | -       | -        | If no previous value is available for gapfilling, use the `prev` lookup expression to get a previous value. For example, you can use `prev` to fill in the first bucket in a queried time range. The expression must return just a value (not a tuple as expected by the [`interpolate`](/docs/reference/timescaledb/hyperfunctions/time_bucket_gapfill/interpolate/index.md) function) with the same type as the `value` parameter. |
| `treat_null_as_missing` | BOOLEAN     | -       | -        | When `true`, `NULL` values are ignored, and only non-`NULL` values are carried forward.                                                                                                                                                                                                                                                                                                                                              |

## Returns

| Column | Type        | Description                                                          |
| ------ | ----------- | -------------------------------------------------------------------- |
| `locf` | ANY ELEMENT | The gapfilled value. The return type matches the input `value` type. |
