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

# Semi-Structured and Structured Data Functions

## `array_append`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_append(array, $1) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_append)

## `array_cat`

Concatenate two arrays
*Supported Signatures*

```sql theme={null}
function array_cat(array, array) returns array
function array_cat(variant, variant) returns array
function array_cat(array, variant) returns array
function array_cat(variant, array) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_cat)

## `array_compact`

Compact array by removing nulls
*Supported Signatures*

```sql theme={null}
function array_compact(array) returns array
function array_compact(variant) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_compact)

## `array_construct`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_construct(...) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_construct)

## `array_construct_compact`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_construct_compact(...) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_construct_compact)

## `array_contains`

Returns true if array contains value
*Supported Signatures*

```sql theme={null}
function array_contains(variant, array) returns boolean
function array_contains($1, array) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_contains)

## `array_distinct`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_distinct(array) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_distinct)

## `array_except`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_except(array, array) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_except)

## `array_flatten`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_flatten(array) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_flatten)

## `array_generate_range`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_generate_range(decimal(38, 0), decimal(38, 0)) returns array
function array_generate_range(decimal(38, 0), decimal(38, 0), decimal(38, 0)) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_generate_range)

## `array_insert`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_insert(array, decimal(38, 0), $1) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_insert)

## `array_intersection`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_intersection(array, array) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_intersection)

## `array_max`

the maximum defined element in the array, or NULL
*Supported Signatures*

```sql theme={null}
function array_max(array) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_max)

## `array_min`

the minimum defined element in the array, or NULL
*Supported Signatures*

```sql theme={null}
function array_min(array) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_min)

## `array_position`

Returns the first index position of the element in the array
*Supported Signatures*

```sql theme={null}
function array_position(variant, array) returns decimal(38, 0)
function array_position($1, array) returns decimal(38, 0)
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_position)

## `array_prepend`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_prepend(array, $1) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_prepend)

## `array_remove`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_remove(array, variant) returns array
function array_remove(array, $1) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_remove)

## `array_remove_at`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_remove_at(array, decimal(38, 0)) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_remove_at)

## `array_size`

Returns array size
*Supported Signatures*

```sql theme={null}
function array_size(array) returns decimal(38, 0)
function array_size(variant) returns decimal(38, 0)
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_size)

## `array_slice`

the resulting array
*Supported Signatures*

```sql theme={null}
function array_slice(array, decimal(38, 0), decimal(38, 0)) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_slice)

## `array_sort`

the sorted array
*Supported Signatures*

```sql theme={null}
function array_sort(array) returns array
function array_sort(array, boolean) returns array
function array_sort(array, boolean, boolean) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_sort)

## `array_to_string`

Convert array to a string
*Supported Signatures*

```sql theme={null}
function array_to_string(array, varchar) returns varchar
function array_to_string(variant, varchar) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/array_to_string)

## `arrays_overlap`

Returns true if two arrays have elements in common
*Supported Signatures*

```sql theme={null}
function arrays_overlap(array, array) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/arrays_overlap)

## `arrays_to_object`

the resulting object
*Supported Signatures*

```sql theme={null}
function arrays_to_object(array, array) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/arrays_to_object)

## `as_array`

Use VARIANT value as ARRAY
*Supported Signatures*

```sql theme={null}
function as_array(variant) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_array)

## `as_binary`

Use VARIANT value as binary string
*Supported Signatures*

```sql theme={null}
function as_binary(variant) returns binary
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_binary)

## `as_boolean`

Use VARIANT value as Boolean
*Supported Signatures*

```sql theme={null}
function as_boolean(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_boolean)

## `as_char`

Use VARIANT value as text string
*Supported Signatures*

```sql theme={null}
function as_char(variant) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_char)

## `as_date`

Use VARIANT value as DATE
*Supported Signatures*

```sql theme={null}
function as_date(variant) returns date
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_date)

## `as_decimal`

Use VARIANT value as decimal fixed-point
*Supported Signatures*

```sql theme={null}
function as_decimal(variant) returns decimal(38, 0)
function as_decimal(variant, decimal(38, 0)) returns decimal(38, 0)
function as_decimal(variant, decimal(38, 0), decimal(38, 0)) returns decimal(38, 0)
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_decimal)

## `as_double`

Use VARIANT value as real
*Supported Signatures*

```sql theme={null}
function as_double(variant) returns double
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_double)

## `as_integer`

Use VARIANT value as integer
*Supported Signatures*

```sql theme={null}
function as_integer(variant) returns decimal(38, 0)
function as_integer(variant, decimal(38, 0)) returns decimal(38, 0)
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_integer)

## `as_number`

Use VARIANT value as as decimal fixed-point
*Supported Signatures*

```sql theme={null}
function as_number(variant) returns decimal(38, 0)
function as_number(variant, decimal(38, 0)) returns decimal(38, 0)
function as_number(variant, decimal(38, 0), decimal(38, 0)) returns decimal(38, 0)
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_number)

## `as_object`

Use VARIANT value as OBJECT
*Supported Signatures*

```sql theme={null}
function as_object(variant) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_object)

## `as_real`

Use VARIANT value as real
*Supported Signatures*

```sql theme={null}
function as_real(variant) returns double
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_real)

## `as_time`

Use VARIANT value as TIME
*Supported Signatures*

```sql theme={null}
function as_time(variant) returns time
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_time)

## `as_timestamp_ltz`

Use VARIANT value as TIMESTAMP\_LTZ
*Supported Signatures*

```sql theme={null}
function as_timestamp_ltz(variant) returns timestamp
function as_timestamp_ltz(variant, decimal(38, 0)) returns timestamp
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_timestamp_ltz)

## `as_timestamp_ntz`

Use VARIANT value as TIMESTAMP\_NTZ
*Supported Signatures*

```sql theme={null}
function as_timestamp_ntz(variant) returns timestamp
function as_timestamp_ntz(variant, decimal(38, 0)) returns timestamp
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_timestamp_ntz)

## `as_timestamp_tz`

Use VARIANT value as TIMESTAMP\_TZ
*Supported Signatures*

```sql theme={null}
function as_timestamp_tz(variant) returns timestamp
function as_timestamp_tz(variant, decimal(38, 0)) returns timestamp
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_timestamp_tz)

## `as_varchar`

Use VARIANT value as text sting
*Supported Signatures*

```sql theme={null}
function as_varchar(variant) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/as_varchar)

## `check_json`

Checks JSON for errors
*Supported Signatures*

```sql theme={null}
function check_json(varchar) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/check_json)

## `check_xml`

Checks XML for errors
*Supported Signatures*

```sql theme={null}
function check_xml(varchar) returns varchar
function check_xml(varchar, boolean) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/check_xml)

## `filter`

*Supported Signatures*

```sql theme={null}
function filter(array, function(variant, boolean)) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/filter)

## `get`

Get VARIANT element value from an array or object
*Supported Signatures*

```sql theme={null}
function get(variant, varchar) returns variant
function get(variant, decimal(38, 0)) returns variant
function get(object, varchar) returns variant
function get(array, decimal(38, 0)) returns variant
function get(object, $1) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/get)

## `get_ignore_case`

Get VARIANT element value from an array or object with path name
*Supported Signatures*

```sql theme={null}
function get_ignore_case(variant, varchar) returns variant
function get_ignore_case(object, varchar) returns $1
function get_ignore_case(object, $1) returns $1
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/get_ignore_case)

## `get_path`

Get VARIANT element value from an array or object with path name
*Supported Signatures*

```sql theme={null}
function get_path(variant, varchar) returns variant
function get_path(object, varchar) returns variant
function get_path(array, varchar) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/get_path)

## `is_array`

Returns true if VARIANT value is an array
*Supported Signatures*

```sql theme={null}
function is_array(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_array)

## `is_binary`

Returns true if VARIANT value is a binary string
*Supported Signatures*

```sql theme={null}
function is_binary(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_binary)

## `is_boolean`

Returns true if VARIANT value is Boolean
*Supported Signatures*

```sql theme={null}
function is_boolean(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_boolean)

## `is_char`

Returns true if VARIANT value is a text string
*Supported Signatures*

```sql theme={null}
function is_char(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_char)

## `is_date`

Returns true if VARIANT value is a DATE
*Supported Signatures*

```sql theme={null}
function is_date(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_date)

## `is_date_value`

Returns true if VARIANT value is a DATE
*Supported Signatures*

```sql theme={null}
function is_date_value(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_date_value)

## `is_decimal`

Returns true if VARIANT value is a decimal fixed-point number
*Supported Signatures*

```sql theme={null}
function is_decimal(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_decimal)

## `is_double`

Returns true if VARIANT value is a real number
*Supported Signatures*

```sql theme={null}
function is_double(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_double)

## `is_integer`

Returns true if VARIANT value is integer
*Supported Signatures*

```sql theme={null}
function is_integer(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_integer)

## `is_object`

Returns true if VARIANT value is an object
*Supported Signatures*

```sql theme={null}
function is_object(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_object)

## `is_real`

Returns true if VARIANT value is a real number
*Supported Signatures*

```sql theme={null}
function is_real(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_real)

## `is_time`

Returns true if VARIANT value is a TIME
*Supported Signatures*

```sql theme={null}
function is_time(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_time)

## `is_timestamp_ltz`

Returns true if VARIANT value is a TIMESTAMP\_LTZ
*Supported Signatures*

```sql theme={null}
function is_timestamp_ltz(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_timestamp_ltz)

## `is_timestamp_ntz`

Returns true if VARIANT value is a TIMESTAMP\_NTZ
*Supported Signatures*

```sql theme={null}
function is_timestamp_ntz(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_timestamp_ntz)

## `is_timestamp_tz`

Returns true if VARIANT value is a TIMESTAMP\_TZ
*Supported Signatures*

```sql theme={null}
function is_timestamp_tz(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_timestamp_tz)

## `is_varchar`

Returns true if VARIANT value is a text string
*Supported Signatures*

```sql theme={null}
function is_varchar(variant) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/is_varchar)

## `json_extract_path_text`

Parses the first argument as a JSON and returns the value of the element pointed to by the second argument
*Supported Signatures*

```sql theme={null}
function json_extract_path_text(varchar, varchar) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/json_extract_path_text)

## `map_cat`

*Supported Signatures*

```sql theme={null}
function map_cat(object, object) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_cat)

## `map_contains_key`

*Supported Signatures*

```sql theme={null}
function map_contains_key(varchar, object) returns boolean
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_contains_key)

## `map_delete`

*Supported Signatures*

```sql theme={null}
function map_delete(object, varchar) returns object
function map_delete(object, varchar, varchar) returns object
function map_delete(object, varchar, varchar, varchar) returns object
function map_delete(object, varchar, varchar, varchar, varchar) returns object
function map_delete(object, varchar, varchar, varchar, varchar, varchar) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_delete)

## `map_insert`

*Supported Signatures*

```sql theme={null}
function map_insert(object, $1, $2) returns object
function map_insert(object, $1, $2, boolean) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_insert)

## `map_keys`

*Supported Signatures*

```sql theme={null}
function map_keys(object) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_keys)

## `map_pick`

*Supported Signatures*

```sql theme={null}
function map_pick(object, string) returns object
function map_pick(object, string, string) returns object
function map_pick(object, string, string, string) returns object
function map_pick(object, string, string, string, string) returns object
function map_pick(object, string, string, string, string, string) returns object
function map_pick(object, array) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_pick)

## `map_size`

*Supported Signatures*

```sql theme={null}
function map_size(object) returns bigint
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/map_size)

## `object_construct`

*Supported Signatures*

```sql theme={null}
function object_construct(...) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_construct)

## `object_construct_keep_null`

the resulting object with null value
*Supported Signatures*

```sql theme={null}
function object_construct_keep_null(...) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_construct_keep_null)

## `object_delete`

the resulting OBJECT
*Supported Signatures*

```sql theme={null}
function object_delete(object, varchar, ...) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_delete)

## `object_insert`

the resulting OBJECT
*Supported Signatures*

```sql theme={null}
function object_insert(object, varchar, $1) returns object
function object_insert(object, varchar, $1, boolean) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_insert)

## `object_keys`

the resulting ARRAY
*Supported Signatures*

```sql theme={null}
function object_keys(object) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_keys)

## `object_pick`

the resulting OBJECT
*Supported Signatures*

```sql theme={null}
function object_pick(object, varchar, ...) returns object
function object_pick(object, array, ...) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/object_pick)

## `parse_json`

Parses string as a JSON document
*Supported Signatures*

```sql theme={null}
function parse_json(varchar) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/parse_json)

## `parse_xml`

Parses string as an XML document
*Supported Signatures*

```sql theme={null}
function parse_xml(varchar) returns object
function parse_xml(varchar, boolean) returns object
function parse_xml() returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/parse_xml)

## `strip_null_value`

Converts null values to SQL NULLs
*Supported Signatures*

```sql theme={null}
function strip_null_value(variant) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/strip_null_value)

## `transform`

*Supported Signatures*

```sql theme={null}
function transform(array, function(variant, variant)) returns array
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/transform)

## `try_parse_json`

Parses string as a JSON document
*Supported Signatures*

```sql theme={null}
function try_parse_json(varchar) returns variant
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/try_parse_json)

## `typeof`

Returns SQL type word of a variant value
*Supported Signatures*

```sql theme={null}
function typeof(variant) returns varchar
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/typeof)

## `xmlget`

Get XML element object by XML tag name
*Supported Signatures*

```sql theme={null}
function xmlget(variant, varchar, decimal(38, 0)) returns object
function xmlget(object, varchar, decimal(38, 0)) returns object
function xmlget(variant, varchar) returns object
function xmlget(object, varchar) returns object
```

[🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/xmlget)
