# time_bucket — Haybarn WASM 1.5.5-rc3

Truncate TIMESTAMPTZ by the specified interval bucket_width. Buckets are aligned relative to origin TIMESTAMPTZ. The origin defaults to 2000-01-03 00:00:00+00 for buckets that do not include a month or year interval, and to 2000-01-01 00:00:00+00 for month and year buckets

- Reference: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/
- JSON: /products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/time_bucket.json
- Snapshot ID: haybarn-1.5.5-rc3
- Engine: haybarn v1.5.6-dev149
- Source ID: 105edd31b5
- Binary SHA-256: 426638bc374fcc542fea93b251f885bfb7d221c68fcc0a5a81cc565d7e6ca180
- Captured: 2026-09-06T00:23:30.515Z
- Source: https://www.npmjs.com/package/@haybarn/haybarn-wasm/v/1.5.5-rc3
- Loaded extensions: core_functions, icu, json, parquet

## Interpretation

- Choose a snapshot matching the target engine and build. The default is captured from the published Haybarn WASM package used by the browser playground. Historical native snapshots are also available.
- Availability is an observation in the recorded build and extension profile, not a guarantee of support in every installation or in WASM.
- Types and descriptions are declarations from duckdb_functions(). Binding can specialize result types. Null means not supplied by the catalog; do not invent defaults, optionality, argument mode, or table output columns.
- Raw parameter arrays preserve catalog order for scalar/aggregate/macro functions. Raw table arguments are alphabetical. Use callingConvention for engine-confirmed positional order and named arguments; null modes are unrecorded. Named does not mean optional. Macro defaults and special named variadic behavior are not supplied by duckdb_functions().
- Catalog examples are source material and may require data or extensions. runnableExamples contains separately verified SQL for the pinned WASM package; sample-data adaptations and guide examples are labeled separately.
- Guide annotations and recipes are separate editorial content. The browser runner always uses Haybarn WASM 1.5.5-rc3, independently of the documentation snapshot.
- All URLs beginning with / are relative to the origin hosting this document. Exports require no JavaScript, cookies, API key, or browser engine.

## Overloads

### overload-b6596338f21bcbd3

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: DATE) → DATE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-b6596338f21bcbd3

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | DATE | not recorded |

Declared return type: DATE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-2b3e104eed391e2e

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP) → TIMESTAMP
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-2b3e104eed391e2e

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP | not recorded |

Declared return type: TIMESTAMP. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-ac6fdee616cafd71

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP WITH TIME ZONE) → TIMESTAMP WITH TIME ZONE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-ac6fdee616cafd71

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP WITH TIME ZONE | not recorded |

Declared return type: TIMESTAMP WITH TIME ZONE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-6fb065f234d1d57e

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: DATE, origin: DATE) → DATE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-6fb065f234d1d57e

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | DATE | not recorded |
| origin | DATE | not recorded |

Declared return type: DATE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-7f02bd778223fe63

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: DATE, origin: INTERVAL) → DATE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-7f02bd778223fe63

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | DATE | not recorded |
| origin | INTERVAL | not recorded |

Declared return type: DATE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-a37249ce9911f6ff

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP WITH TIME ZONE, origin: INTERVAL) → TIMESTAMP WITH TIME ZONE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-a37249ce9911f6ff

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP WITH TIME ZONE | not recorded |
| origin | INTERVAL | not recorded |

Declared return type: TIMESTAMP WITH TIME ZONE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-ccec5d7efa87d6c1

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP WITH TIME ZONE, origin: TIMESTAMP WITH TIME ZONE) → TIMESTAMP WITH TIME ZONE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-ccec5d7efa87d6c1

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP WITH TIME ZONE | not recorded |
| origin | TIMESTAMP WITH TIME ZONE | not recorded |

Declared return type: TIMESTAMP WITH TIME ZONE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-2f2f313bae901dfe

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP WITH TIME ZONE, origin: VARCHAR) → TIMESTAMP WITH TIME ZONE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-2f2f313bae901dfe

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP WITH TIME ZONE | not recorded |
| origin | VARCHAR | not recorded |

Declared return type: TIMESTAMP WITH TIME ZONE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-d2ec6563944eb926

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP, origin: INTERVAL) → TIMESTAMP
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-d2ec6563944eb926

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP | not recorded |
| origin | INTERVAL | not recorded |

Declared return type: TIMESTAMP. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-2069b0043ac5c870

Kind: scalar. Parameter order: catalog-order.

```text
time_bucket(bucket_width: INTERVAL, timestamp: TIMESTAMP, origin: TIMESTAMP) → TIMESTAMP
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/time_bucket/#overload-2069b0043ac5c870

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| bucket_width | INTERVAL | not recorded |
| timestamp | TIMESTAMP | not recorded |
| origin | TIMESTAMP | not recorded |

Declared return type: TIMESTAMP. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.


## Guide recipes

No guide recipes.

## Engine catalog examples

Source examples may require additional data or extensions. Expressions are wrapped in SELECT; execution verification is not recorded.

Reported for: overload-b6596338f21bcbd3, overload-2b3e104eed391e2e, overload-ac6fdee616cafd71, overload-6fb065f234d1d57e, overload-7f02bd778223fe63, overload-a37249ce9911f6ff, overload-ccec5d7efa87d6c1, overload-2f2f313bae901dfe, overload-d2ec6563944eb926, overload-2069b0043ac5c870

```sql
SELECT time_bucket(INTERVAL '2 weeks', TIMESTAMP '1992-04-20 15:26:00-07', TIMESTAMP '1992-04-01 00:00:00-07');
```

## Runnable examples

Executed successfully in Haybarn WASM 1.5.5-rc3. Sample data and guide examples are separate from the original catalog.

```sql
SELECT time_bucket(INTERVAL '2 weeks', TIMESTAMP '1992-04-20 15:26:00-07', TIMESTAMP '1992-04-01 00:00:00-07');
```

## Additional DuckDB documentation

- [Date Functions](https://duckdb.org/docs/current/sql/functions/date#time_bucketbucket_width-date-origin)
- [Timestamp Functions](https://duckdb.org/docs/current/sql/functions/timestamp#time_bucketbucket_width-timestamp-origin)
- [Timestamp with Time Zone Functions](https://duckdb.org/docs/current/sql/functions/timestamptz#time_bucketbucket_width-timestamptz-timezone)

## In other engines

### PostgreSQL



PostgreSQL:

```sql
SELECT DATE_BIN('30 days', timestamp_col, (SELECT MIN(TIMESTAMP) from table)) FROM table
```

Haybarn / DuckDB:

```sql
SELECT TIME_BUCKET('30 days', timestamp_col, (SELECT MIN(TIMESTAMP) FROM "table")) FROM "table"
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_postgres.py#L1098).

### Snowflake: time_slice()



Snowflake:

```sql
SELECT TIME_SLICE(DATE '2024-03-15', 1, 'DAY')
```

Haybarn / DuckDB:

```sql
SELECT TIME_BUCKET(INTERVAL 1 DAY, CAST('2024-03-15' AS DATE))
```

Translation from [SQLGlot](https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_snowflake.py#L3045).

## Observed availability

| Snapshot | Observed | Overloads | JSON |
| --- | --- | --- | --- |
| haybarn-1.5.5-rc3 | present | 10 | [reference](/products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/time_bucket.json) |
| duckdb-1.5.5 | present | 10 | [reference](/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/time_bucket.json) |
| duckdb-1.4.4 | present | 10 | [reference](/products/haybarn/functions/api/v1/duckdb-1.4.4/functions/time_bucket.json) |
| duckdb-1.3.2 | present | 10 | [reference](/products/haybarn/functions/api/v1/duckdb-1.3.2/functions/time_bucket.json) |

Engine catalog documentation is derived from MIT-licensed Haybarn and DuckDB. [Notices](/third-party-notices.txt).
