> ## 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](/compatibility-modes/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](/compatibility-modes/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](/compatibility-modes/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.
