> ## 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.

# Semi-structured and structured data functions

> Snowflake semi-structured and structured data functions supported in Snowflake compatibility mode.

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

Snowflake [semi-structured and structured data functions](https://docs.snowflake.com/en/sql-reference/functions-semistructured) in [Snowflake compatibility mode](/reference-sql/snowflake/overview).

| Function                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Support          | Notes                                        |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :------------------------------------------- |
| `ARRAYS_OVERLAP`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Supported        |                                              |
| `ARRAY_CAT`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Supported        |                                              |
| `ARRAY_DISTINCT`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Supported        |                                              |
| `ARRAY_MAX`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Supported        |                                              |
| `ARRAY_MIN`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Supported        |                                              |
| `ARRAY_REVERSE`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Supported        |                                              |
| `ARRAY_SLICE`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Supported        |                                              |
| `ARRAY_SORT`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Supported        |                                              |
| `ARRAY_TO_STRING`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Supported        |                                              |
| `ARRAY_CONTAINS`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | With limitations | Available for some argument types only.      |
| `CHECK_JSON`, `TO_JSON`, `TYPEOF`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | With limitations | Runs, but the result differs from Snowflake. |
| `ARRAY_APPEND`, `ARRAY_COMPACT`, `ARRAY_EXCEPT`, `ARRAY_GENERATE_RANGE`, `ARRAY_INSERT`, `ARRAY_INTERSECTION`, `ARRAY_POSITION`, `ARRAY_PREPEND`, `ARRAY_REMOVE`, `ARRAY_REMOVE_AT`, `ARRAY_REPEAT`, `ARRAY_SIZE`, `AS_ARRAY`, `AS_BINARY`, `AS_BOOLEAN`, `AS_CHAR`, `AS_DATE`, `AS_DECIMAL`, `AS_DOUBLE`, `AS_INTEGER`, `AS_NUMBER`, `AS_OBJECT`, `AS_REAL`, `AS_TIME`, `AS_TIMESTAMP_LTZ`, `AS_TIMESTAMP_NTZ`, `AS_TIMESTAMP_TZ`, `AS_VARCHAR`, `CHECK_XML`, `GET`, `GET_IGNORE_CASE`, `GET_PATH`, `IS_ARRAY`, `IS_BINARY`, `IS_BOOLEAN`, `IS_CHAR`, `IS_DATE`, `IS_DATE_VALUE`, `IS_DECIMAL`, `IS_DOUBLE`, `IS_INTEGER`, `IS_NULL_VALUE`, `IS_OBJECT`, `IS_REAL`, `IS_TIME`, `IS_TIMESTAMP_LTZ`, `IS_TIMESTAMP_NTZ`, `IS_TIMESTAMP_TZ`, `IS_VARCHAR`, `MAP_CONSTRUCT`, `OBJECT_DELETE`, `OBJECT_KEYS`, `OBJECT_PICK`, `STRIP_NULL_VALUE`, `TO_XML`, `TRY_PARSE_JSON`, `XMLGET` | Not supported    |                                              |

## Limitations

`PARSE_JSON` returns the value as text rather than as a `VARIANT`. The `:` path operator, `::` casts and `json_extract` all work on that text, so ordinary path access behaves as expected, but two functions differ:

| Expression                 | In this mode | In Snowflake |
| :------------------------- | :----------- | :----------- |
| `TYPEOF(PARSE_JSON('1'))`  | `unknown`    | `INTEGER`    |
| `TO_JSON(PARSE_JSON('1'))` | `"1"`        | `1`          |

`SPLIT`, `ARRAY_AGG` and the `ARRAY_*` family return a typed array rather than a `VARIANT` array. The elements are the same; the rendering differs, which matters if a client parses the output text.

`ARRAY_SLICE` is rejected with a negative index, because counting from the end of the array has no direct equivalent. It is also rejected with a computed bound, because the rewrite needs literal bounds.
