# trunc — Haybarn WASM 1.5.5-rc3

Truncates the number

- Reference: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/
- JSON: /products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/trunc.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-b0fec100051392ff

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: BIGINT) → BIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-b0fec100051392ff

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | BIGINT | not recorded |

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

### overload-2a3ac914393be5e8

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: DECIMAL) → DECIMAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-2a3ac914393be5e8

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DECIMAL | not recorded |

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

### overload-2eefd63f73c32278

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: DOUBLE) → DOUBLE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-2eefd63f73c32278

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DOUBLE | not recorded |

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

### overload-305e06f3f4934ea9

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: FLOAT) → FLOAT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-305e06f3f4934ea9

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | FLOAT | not recorded |

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

### overload-cae04e61d9fc03e2

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: HUGEINT) → HUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-cae04e61d9fc03e2

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | HUGEINT | not recorded |

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

### overload-8de4a6665aa8bcc7

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: INTEGER) → INTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-8de4a6665aa8bcc7

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | INTEGER | not recorded |

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

### overload-bf37b74e77487ebc

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: SMALLINT) → SMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-bf37b74e77487ebc

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | SMALLINT | not recorded |

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

### overload-f2b8d4dd7681be97

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: TINYINT) → TINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-f2b8d4dd7681be97

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TINYINT | not recorded |

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

### overload-24e740c45d441711

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UBIGINT) → UBIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-24e740c45d441711

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UBIGINT | not recorded |

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

### overload-dc3042f9ad259fe1

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UHUGEINT) → UHUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-dc3042f9ad259fe1

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UHUGEINT | not recorded |

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

### overload-4a94f1a7a9b45aa7

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UINTEGER) → UINTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-4a94f1a7a9b45aa7

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UINTEGER | not recorded |

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

### overload-02d465783ee29595

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: USMALLINT) → USMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-02d465783ee29595

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | USMALLINT | not recorded |

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

### overload-5b5d18597bf9d1c2

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UTINYINT) → UTINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-5b5d18597bf9d1c2

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UTINYINT | not recorded |

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

### overload-af391bc3af9a2deb

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: BIGINT, col1: INTEGER) → BIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-af391bc3af9a2deb

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | BIGINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-0e561dba3ff0edaf

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: DECIMAL, col1: INTEGER) → DECIMAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-0e561dba3ff0edaf

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DECIMAL | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-c9e5fdee87b9af5c

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: DOUBLE, col1: INTEGER) → DOUBLE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-c9e5fdee87b9af5c

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DOUBLE | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-538c9680e439fa5c

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: FLOAT, col1: INTEGER) → FLOAT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-538c9680e439fa5c

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | FLOAT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-757f6ea3f703bbba

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: HUGEINT, col1: INTEGER) → HUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-757f6ea3f703bbba

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | HUGEINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-0a4e347296bfd67b

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: INTEGER, col1: INTEGER) → INTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-0a4e347296bfd67b

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | INTEGER | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-c8c2e072316c3ef8

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: SMALLINT, col1: INTEGER) → SMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-c8c2e072316c3ef8

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | SMALLINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-d0f7aa57cba64980

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: TINYINT, col1: INTEGER) → TINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-d0f7aa57cba64980

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TINYINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-5fd8db511ddcd548

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UBIGINT, col1: INTEGER) → UBIGINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-5fd8db511ddcd548

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UBIGINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-ff03cddd20a2c09c

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UHUGEINT, col1: INTEGER) → UHUGEINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-ff03cddd20a2c09c

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UHUGEINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-9b359e68ee2abde2

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UINTEGER, col1: INTEGER) → UINTEGER
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-9b359e68ee2abde2

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UINTEGER | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-d32f2eec64ce55cb

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: USMALLINT, col1: INTEGER) → USMALLINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-d32f2eec64ce55cb

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | USMALLINT | not recorded |
| col1 | INTEGER | not recorded |

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

### overload-ae0b2703fc0fca3e

Kind: scalar. Parameter order: catalog-order.

```text
trunc(x: UTINYINT, col1: INTEGER) → UTINYINT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/trunc/#overload-ae0b2703fc0fca3e

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | UTINYINT | not recorded |
| col1 | INTEGER | not recorded |

Declared return type: UTINYINT. 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-b0fec100051392ff, overload-2a3ac914393be5e8, overload-2eefd63f73c32278, overload-305e06f3f4934ea9, overload-cae04e61d9fc03e2, overload-8de4a6665aa8bcc7, overload-bf37b74e77487ebc, overload-f2b8d4dd7681be97, overload-24e740c45d441711, overload-dc3042f9ad259fe1, overload-4a94f1a7a9b45aa7, overload-02d465783ee29595, overload-5b5d18597bf9d1c2, overload-af391bc3af9a2deb, overload-0e561dba3ff0edaf, overload-c9e5fdee87b9af5c, overload-538c9680e439fa5c, overload-757f6ea3f703bbba, overload-0a4e347296bfd67b, overload-c8c2e072316c3ef8, overload-d0f7aa57cba64980, overload-5fd8db511ddcd548, overload-ff03cddd20a2c09c, overload-9b359e68ee2abde2, overload-d32f2eec64ce55cb, overload-ae0b2703fc0fca3e

```sql
SELECT trunc(17.4);
```

## Runnable examples

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

```sql
SELECT trunc(17.4);
```

## Additional DuckDB documentation

- [Numeric Functions](https://duckdb.org/docs/current/sql/functions/numeric#truncx)

## In other engines

### PostgreSQL: trunc()

Same function. The SQLGlot example uses the same call in both engines.

```sql
TRUNC(3.14159, 2)
```

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

### Oracle: trunc()

Same function. The SQLGlot example uses the same call in both engines.

```sql
TRUNC(3.14159, 2)
```

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

### Snowflake: trunc()

Same function. The SQLGlot example uses the same call in both engines.

```sql
TRUNC(4.603, 2)
```

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

## Observed availability

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

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