> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Data types

> BigQuery data types and their support in Firebolt's BigQuery compatibility mode.

<span className="feature-tag">Preview</span>

BigQuery [data types](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types) and their support in [BigQuery compatibility mode](/reference-sql/bigquery/overview). A supported BigQuery type name maps to the Firebolt type that holds the same values, so you can write BigQuery type names in casts and column definitions.

| BigQuery type | Support | Notes |
| :- | :- | :- |
| [`INT64`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#integer_types) | Supported | Maps to Firebolt `BIGINT`. |
| [`NUMERIC`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#numeric_type) | Supported | Maps to `DECIMAL(38, 9)`, which covers the full BigQuery `NUMERIC` range and scale. See [NUMERIC](/reference-sql/data-types/numeric). |
| [`BIGNUMERIC`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#bignumeric_type) | Not supported | `BIGNUMERIC` needs up to 76 digits of precision. Firebolt `DECIMAL` is limited to 38 digits, so `BIGNUMERIC` values are not representable. |
| [`FLOAT64`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#floating_point_types) | Supported | Maps to `DOUBLE PRECISION`. |
| [`BOOL`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#boolean_type) | Supported | Maps to `BOOLEAN`. |
| [`STRING`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#string_type) | Supported | Maps to `TEXT`. UTF-8. |
| [`BYTES`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#bytes_type) | Supported | Maps to `BYTEA`. See [BYTEA](/reference-sql/data-types/bytea). |
| [`DATE`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#date_type) | Supported | See [DATE](/reference-sql/data-types/date). |
| [`DATETIME`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#datetime_type) | Supported | Timezone-naive timestamp. Maps to Firebolt `TIMESTAMP`. See [TIMESTAMP](/reference-sql/data-types/timestampntz). |
| [`TIMESTAMP`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#timestamp_type) | Supported | Absolute instant. Maps to `TIMESTAMPTZ`. See [TIMESTAMPTZ](/reference-sql/data-types/timestamptz). |
| [`TIME`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#time_type) | With limitations | No native `TIME` type. Emulated as a timezone-naive timestamp on a placeholder date, so values format and compare correctly but carry a placeholder date component. |
| [`INTERVAL`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#interval_type) | With limitations | Usable only as a constant or expression operand, for example `date + INTERVAL 5 DAY`. You cannot declare an `INTERVAL` column or store `INTERVAL` values in a table. |
| [`GEOGRAPHY`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type) | Supported | See [GEOGRAPHY](/reference-sql/data-types/geography). A subset of geography functions is available; see [Geography functions](/reference-sql/bigquery/functions/geography). |
| [`JSON`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#json_type) | Supported | See [JSON](/reference-sql/data-types/json) and [JSON functions](/reference-sql/bigquery/functions/json). |
| [`ARRAY`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#array_type) | Supported | Element type is mapped recursively. Firebolt allows `NULL` elements, which BigQuery does not. |
| [`STRUCT`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct_type) | Supported | See [STRUCT](/reference-sql/data-types/struct). |
| [`RANGE`](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-types#range_type) | Not supported | Firebolt has no `RANGE` type. |

## Literals

| Literal | Example | Notes |
| :- | :- | :- |
| Triple-quoted string | `"""line one\nline two"""` | `'''...'''` is also accepted. |
| Raw string | `r"C:\path"` | Backslashes are literal. |
| Byte string | `b"abc"`, `rb"\x00"` | Maps to a `BYTEA` value. |
| Typed array | `ARRAY<INT64>[1, 2, 3]` | Element type is carried through. |
| Struct | `STRUCT(1 AS a, 'x' AS b)` | Field names come from `AS` aliases or declared field names. |
| Interval | `INTERVAL 5 DAY` | A unit is required. Constant only. |

A positional struct cast rebuilds field names from the target type, so `CAST(STRUCT(1, 2) AS STRUCT<a INT64, b INT64>)` names the fields `a` and `b` by position.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.