{
  "$schema": "/products/haybarn/functions/api/v1/function.schema.json",
  "schemaVersion": 1,
  "name": "trunc",
  "schema": "main",
  "slug": "trunc",
  "description": "Truncates the number",
  "category": "numeric",
  "kinds": [
    "scalar"
  ],
  "aliasOf": [],
  "snapshot": {
    "schemaVersion": 1,
    "id": "duckdb-1.5.5",
    "engine": "duckdb",
    "label": "DuckDB 1.5.5",
    "engineVersion": "v1.5.5",
    "sourceId": "d8cdaa33fd",
    "source": "https://github.com/duckdb/duckdb/releases/tag/v1.5.5",
    "binarySha256": "8463eb26527b278109cfddffc4606e1019ebefcfe2eac75efc53c76ed8f282d5",
    "capturedAt": "2026-09-05T18:37:40.699Z",
    "requestedExtensions": [
      "core_functions",
      "icu",
      "json",
      "parquet"
    ],
    "loadedExtensions": [
      {
        "extension_name": "autocomplete",
        "extension_version": "v1.5.5",
        "installed_from": ""
      },
      {
        "extension_name": "core_functions",
        "extension_version": "v1.5.5",
        "installed_from": "core"
      },
      {
        "extension_name": "icu",
        "extension_version": "v1.5.5",
        "installed_from": "core"
      },
      {
        "extension_name": "json",
        "extension_version": "v1.5.5",
        "installed_from": "core"
      },
      {
        "extension_name": "parquet",
        "extension_version": "v1.5.5",
        "installed_from": "core"
      },
      {
        "extension_name": "shell",
        "extension_version": "v1.5.5",
        "installed_from": ""
      }
    ],
    "scope": "Built-in functions in the main schema, with the requested extensions loaded. Catalog visibility is not a guarantee of browser support."
  },
  "links": {
    "html": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/",
    "markdown": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/index.md",
    "json": "/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/trunc.json"
  },
  "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": [
    {
      "id": "overload-b0fec100051392ff",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-b0fec100051392ff",
      "signature": "trunc(x: BIGINT) → BIGINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "BIGINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "BIGINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "BIGINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-2a3ac914393be5e8",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-2a3ac914393be5e8",
      "signature": "trunc(x: DECIMAL) → DECIMAL",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "DECIMAL",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "DECIMAL",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "DECIMAL"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-2eefd63f73c32278",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-2eefd63f73c32278",
      "signature": "trunc(x: DOUBLE) → DOUBLE",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "DOUBLE",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "DOUBLE",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "DOUBLE"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-305e06f3f4934ea9",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-305e06f3f4934ea9",
      "signature": "trunc(x: FLOAT) → FLOAT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "FLOAT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "FLOAT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "FLOAT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-cae04e61d9fc03e2",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-cae04e61d9fc03e2",
      "signature": "trunc(x: HUGEINT) → HUGEINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "HUGEINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "HUGEINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "HUGEINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-8de4a6665aa8bcc7",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-8de4a6665aa8bcc7",
      "signature": "trunc(x: INTEGER) → INTEGER",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "INTEGER",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-bf37b74e77487ebc",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-bf37b74e77487ebc",
      "signature": "trunc(x: SMALLINT) → SMALLINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "SMALLINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "SMALLINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "SMALLINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-f2b8d4dd7681be97",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-f2b8d4dd7681be97",
      "signature": "trunc(x: TINYINT) → TINYINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "TINYINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "TINYINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "TINYINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-24e740c45d441711",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-24e740c45d441711",
      "signature": "trunc(x: UBIGINT) → UBIGINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UBIGINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UBIGINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "UBIGINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-dc3042f9ad259fe1",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-dc3042f9ad259fe1",
      "signature": "trunc(x: UHUGEINT) → UHUGEINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UHUGEINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UHUGEINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "UHUGEINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-4a94f1a7a9b45aa7",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-4a94f1a7a9b45aa7",
      "signature": "trunc(x: UINTEGER) → UINTEGER",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UINTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UINTEGER",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "UINTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-02d465783ee29595",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-02d465783ee29595",
      "signature": "trunc(x: USMALLINT) → USMALLINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "USMALLINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "USMALLINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "USMALLINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-5b5d18597bf9d1c2",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-5b5d18597bf9d1c2",
      "signature": "trunc(x: UTINYINT) → UTINYINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UTINYINT",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UTINYINT",
        "parameters": [
          "x"
        ],
        "parameter_types": [
          "UTINYINT"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-af391bc3af9a2deb",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-af391bc3af9a2deb",
      "signature": "trunc(x: BIGINT, col1: INTEGER) → BIGINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "BIGINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "BIGINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "BIGINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-0e561dba3ff0edaf",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-0e561dba3ff0edaf",
      "signature": "trunc(x: DECIMAL, col1: INTEGER) → DECIMAL",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "DECIMAL",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "DECIMAL",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "DECIMAL",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-c9e5fdee87b9af5c",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-c9e5fdee87b9af5c",
      "signature": "trunc(x: DOUBLE, col1: INTEGER) → DOUBLE",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "DOUBLE",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "DOUBLE",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "DOUBLE",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-538c9680e439fa5c",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-538c9680e439fa5c",
      "signature": "trunc(x: FLOAT, col1: INTEGER) → FLOAT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "FLOAT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "FLOAT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "FLOAT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-757f6ea3f703bbba",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-757f6ea3f703bbba",
      "signature": "trunc(x: HUGEINT, col1: INTEGER) → HUGEINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "HUGEINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "HUGEINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "HUGEINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-0a4e347296bfd67b",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-0a4e347296bfd67b",
      "signature": "trunc(x: INTEGER, col1: INTEGER) → INTEGER",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "INTEGER",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "INTEGER",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "INTEGER",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-c8c2e072316c3ef8",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-c8c2e072316c3ef8",
      "signature": "trunc(x: SMALLINT, col1: INTEGER) → SMALLINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "SMALLINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "SMALLINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "SMALLINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-d0f7aa57cba64980",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-d0f7aa57cba64980",
      "signature": "trunc(x: TINYINT, col1: INTEGER) → TINYINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "TINYINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "TINYINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "TINYINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-5fd8db511ddcd548",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-5fd8db511ddcd548",
      "signature": "trunc(x: UBIGINT, col1: INTEGER) → UBIGINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UBIGINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UBIGINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "UBIGINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-ff03cddd20a2c09c",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-ff03cddd20a2c09c",
      "signature": "trunc(x: UHUGEINT, col1: INTEGER) → UHUGEINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UHUGEINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UHUGEINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "UHUGEINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-9b359e68ee2abde2",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-9b359e68ee2abde2",
      "signature": "trunc(x: UINTEGER, col1: INTEGER) → UINTEGER",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UINTEGER",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UINTEGER",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "UINTEGER",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-d32f2eec64ce55cb",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-d32f2eec64ce55cb",
      "signature": "trunc(x: USMALLINT, col1: INTEGER) → USMALLINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "USMALLINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "USMALLINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "USMALLINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    },
    {
      "id": "overload-ae0b2703fc0fca3e",
      "url": "/products/haybarn/functions/releases/duckdb-1.5.5/trunc/#overload-ae0b2703fc0fca3e",
      "signature": "trunc(x: UTINYINT, col1: INTEGER) → UTINYINT",
      "parameterOrder": "catalog-order",
      "callingConvention": {
        "source": null,
        "parameters": [
          {
            "name": "x",
            "type": "UTINYINT",
            "mode": null,
            "position": null
          },
          {
            "name": "col1",
            "type": "INTEGER",
            "mode": null,
            "position": null
          }
        ],
        "positional": null,
        "named": null,
        "variadic": null,
        "evidence": null
      },
      "syntax": {
        "kind": "function",
        "operator": null
      },
      "catalog": {
        "schema_name": "main",
        "function_name": "trunc",
        "function_type": "scalar",
        "description": "Truncates the number",
        "comment": null,
        "return_type": "UTINYINT",
        "parameters": [
          "x",
          "col1"
        ],
        "parameter_types": [
          "UTINYINT",
          "INTEGER"
        ],
        "varargs": null,
        "macro_definition": null,
        "has_side_effects": false,
        "internal": true,
        "examples": [
          "trunc(17.4)"
        ],
        "stability": "CONSISTENT",
        "categories": [],
        "alias_of": null
      }
    }
  ],
  "editorial": {
    "argumentNotes": [],
    "recipes": []
  },
  "examples": [
    {
      "original": "trunc(17.4)",
      "sql": "SELECT trunc(17.4);",
      "overloadIds": [
        "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"
      ],
      "source": "engine-catalog",
      "verification": null
    }
  ],
  "translations": [
    {
      "function": "trunc",
      "scope": "",
      "relation": "direct",
      "source": {
        "engine": "PostgreSQL",
        "dialect": "postgres",
        "name": "trunc",
        "names": [
          "trunc"
        ],
        "sql": "TRUNC(3.14159, 2)"
      },
      "target": {
        "dialect": "duckdb",
        "name": "trunc",
        "sql": "TRUNC(3.14159, 2)"
      },
      "formatTokens": [],
      "executionVerified": false,
      "provenance": {
        "name": "SQLGlot",
        "commit": "3086608e6fd4c41c02dfba47171608d2b193fce2",
        "url": "https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_duckdb.py#L15"
      }
    },
    {
      "function": "trunc",
      "scope": "",
      "relation": "direct",
      "source": {
        "engine": "Oracle",
        "dialect": "oracle",
        "name": "trunc",
        "names": [
          "trunc"
        ],
        "sql": "TRUNC(3.14159, 2)"
      },
      "target": {
        "dialect": "duckdb",
        "name": "trunc",
        "sql": "TRUNC(3.14159, 2)"
      },
      "formatTokens": [],
      "executionVerified": false,
      "provenance": {
        "name": "SQLGlot",
        "commit": "3086608e6fd4c41c02dfba47171608d2b193fce2",
        "url": "https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_oracle.py#L880"
      }
    },
    {
      "function": "trunc",
      "scope": "",
      "relation": "direct",
      "source": {
        "engine": "Snowflake",
        "dialect": "snowflake",
        "name": "trunc",
        "names": [
          "trunc"
        ],
        "sql": "TRUNC(4.603, 2)"
      },
      "target": {
        "dialect": "duckdb",
        "name": "trunc",
        "sql": "TRUNC(4.603, 2)"
      },
      "formatTokens": [],
      "executionVerified": false,
      "provenance": {
        "name": "SQLGlot",
        "commit": "3086608e6fd4c41c02dfba47171608d2b193fce2",
        "url": "https://github.com/tobymao/sqlglot/blob/3086608e6fd4c41c02dfba47171608d2b193fce2/tests/dialects/test_snowflake.py#L4153"
      }
    }
  ],
  "runnableExamples": [
    {
      "function": "trunc",
      "original": "trunc(17.4)",
      "sql": "SELECT trunc(17.4);",
      "source": "engine-catalog",
      "verification": {
        "engine": "haybarn-wasm",
        "packageVersion": "1.5.5-rc3",
        "sourceId": "105edd31b5",
        "binarySha256": "426638bc374fcc542fea93b251f885bfb7d221c68fcc0a5a81cc565d7e6ca180",
        "rowCount": 1
      }
    }
  ],
  "additionalDocumentation": [
    {
      "title": "Numeric Functions",
      "url": "https://duckdb.org/docs/current/sql/functions/numeric#truncx"
    }
  ],
  "availability": [
    {
      "snapshot": "haybarn-1.5.5-rc3",
      "observed": true,
      "overloadCount": 26,
      "matchingOverloadIds": [
        "overload-af391bc3af9a2deb",
        "overload-b0fec100051392ff",
        "overload-0e561dba3ff0edaf",
        "overload-2a3ac914393be5e8",
        "overload-c9e5fdee87b9af5c",
        "overload-2eefd63f73c32278",
        "overload-538c9680e439fa5c",
        "overload-305e06f3f4934ea9",
        "overload-757f6ea3f703bbba",
        "overload-cae04e61d9fc03e2",
        "overload-0a4e347296bfd67b",
        "overload-8de4a6665aa8bcc7",
        "overload-c8c2e072316c3ef8",
        "overload-bf37b74e77487ebc",
        "overload-d0f7aa57cba64980",
        "overload-f2b8d4dd7681be97",
        "overload-5fd8db511ddcd548",
        "overload-24e740c45d441711",
        "overload-ff03cddd20a2c09c",
        "overload-dc3042f9ad259fe1",
        "overload-9b359e68ee2abde2",
        "overload-4a94f1a7a9b45aa7",
        "overload-d32f2eec64ce55cb",
        "overload-02d465783ee29595",
        "overload-ae0b2703fc0fca3e",
        "overload-5b5d18597bf9d1c2"
      ],
      "json": "/products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/trunc.json"
    },
    {
      "snapshot": "duckdb-1.5.5",
      "observed": true,
      "overloadCount": 26,
      "matchingOverloadIds": [
        "overload-af391bc3af9a2deb",
        "overload-b0fec100051392ff",
        "overload-0e561dba3ff0edaf",
        "overload-2a3ac914393be5e8",
        "overload-c9e5fdee87b9af5c",
        "overload-2eefd63f73c32278",
        "overload-538c9680e439fa5c",
        "overload-305e06f3f4934ea9",
        "overload-757f6ea3f703bbba",
        "overload-cae04e61d9fc03e2",
        "overload-0a4e347296bfd67b",
        "overload-8de4a6665aa8bcc7",
        "overload-c8c2e072316c3ef8",
        "overload-bf37b74e77487ebc",
        "overload-d0f7aa57cba64980",
        "overload-f2b8d4dd7681be97",
        "overload-5fd8db511ddcd548",
        "overload-24e740c45d441711",
        "overload-ff03cddd20a2c09c",
        "overload-dc3042f9ad259fe1",
        "overload-9b359e68ee2abde2",
        "overload-4a94f1a7a9b45aa7",
        "overload-d32f2eec64ce55cb",
        "overload-02d465783ee29595",
        "overload-ae0b2703fc0fca3e",
        "overload-5b5d18597bf9d1c2"
      ],
      "json": "/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/trunc.json"
    },
    {
      "snapshot": "duckdb-1.4.4",
      "observed": true,
      "overloadCount": 26,
      "matchingOverloadIds": [
        "overload-af391bc3af9a2deb",
        "overload-b0fec100051392ff",
        "overload-0e561dba3ff0edaf",
        "overload-2a3ac914393be5e8",
        "overload-c9e5fdee87b9af5c",
        "overload-2eefd63f73c32278",
        "overload-538c9680e439fa5c",
        "overload-305e06f3f4934ea9",
        "overload-757f6ea3f703bbba",
        "overload-cae04e61d9fc03e2",
        "overload-0a4e347296bfd67b",
        "overload-8de4a6665aa8bcc7",
        "overload-c8c2e072316c3ef8",
        "overload-bf37b74e77487ebc",
        "overload-d0f7aa57cba64980",
        "overload-f2b8d4dd7681be97",
        "overload-5fd8db511ddcd548",
        "overload-24e740c45d441711",
        "overload-ff03cddd20a2c09c",
        "overload-dc3042f9ad259fe1",
        "overload-9b359e68ee2abde2",
        "overload-4a94f1a7a9b45aa7",
        "overload-d32f2eec64ce55cb",
        "overload-02d465783ee29595",
        "overload-ae0b2703fc0fca3e",
        "overload-5b5d18597bf9d1c2"
      ],
      "json": "/products/haybarn/functions/api/v1/duckdb-1.4.4/functions/trunc.json"
    },
    {
      "snapshot": "duckdb-1.3.2",
      "observed": true,
      "overloadCount": 13,
      "matchingOverloadIds": [
        "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"
      ],
      "json": "/products/haybarn/functions/api/v1/duckdb-1.3.2/functions/trunc.json"
    }
  ]
}
