EXTRACT
All functions > ARRAY OF ROWS > EXTRACT
Returns the extracted fields from the given expression.
Signatures
Returns: Extracted field(s) as scalar (1 field) or ROW (multiple fields)
EXTRACT(base: ROW<T>, [positions: DataTypeEnum.BIGINT], fields: DataTypeEnum.FIELD, [as_fields: DataTypeEnum.FIELD]) → U or ROW<V> sql
| Parameter | Type | Required | Description |
|---|---|---|---|
base | ROW<T> | Yes | Row or array of rows to extract from |
positions | DataTypeEnum.BIGINT | No | Position(s) to extract (unused for field-only extraction) |
fields | DataTypeEnum.FIELD | Yes | Field name(s) to extract |
as_fields | DataTypeEnum.FIELD | No | Optional renamed field name(s) in result |
Returns: Extracted field(s) as ARRAY<U> (1 field) or ARRAY<ROW<V>> (multiple fields)
EXTRACT(base: ARRAY<ROW<T>>, [positions: DataTypeEnum.BIGINT], fields: DataTypeEnum.FIELD, [as_fields: DataTypeEnum.FIELD]) → ARRAY<U> or ARRAY<ROW<V>> sql
| Parameter | Type | Required | Description |
|---|---|---|---|
base | ARRAY<ROW<T>> | Yes | Array of rows to extract from |
positions | DataTypeEnum.BIGINT | No | Position(s) to extract (unused for field-only extraction) |
fields | DataTypeEnum.FIELD | Yes | Field name(s) to extract |
as_fields | DataTypeEnum.FIELD | No | Optional renamed field name(s) in result |
Notes
- Extracts one or more fields from ROW or ARRAY of rows
- Single field extraction returns scalar value
- Multiple field extraction returns ROW with selected fields
- For arrays of rows, transforms each element preserving array structure
- Can rename fields using as_fields parameter
- Supports both operator syntax (base[field]) and function syntax
- NULL handling: NULL rows return NULL fields
On this page