# `QuackDB.Interval`
[🔗](https://github.com/elixir-vibe/quackdb/blob/main/lib/quack_db/interval.ex#L1)

DuckDB interval value preserving month, day, and microsecond components.

DuckDB stores intervals as three independent components instead of a single
duration because months and days do not have fixed microsecond lengths.

# `t`

```elixir
@type t() :: %QuackDB.Interval{
  days: integer(),
  microseconds: integer(),
  months: integer()
}
```

# `new`

```elixir
@spec new(integer(), integer(), integer()) :: t()
```

Builds a DuckDB interval value.

# `to_tuple`

```elixir
@spec to_tuple(t()) :: {integer(), integer(), integer()}
```

Returns the interval as `{months, days, microseconds}`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
