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
ParameterTypeRequiredDescription
baseROW<T>YesRow or array of rows to extract from
positionsDataTypeEnum.BIGINTNoPosition(s) to extract (unused for field-only extraction)
fieldsDataTypeEnum.FIELDYesField name(s) to extract
as_fieldsDataTypeEnum.FIELDNoOptional 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
ParameterTypeRequiredDescription
baseARRAY<ROW<T>>YesArray of rows to extract from
positionsDataTypeEnum.BIGINTNoPosition(s) to extract (unused for field-only extraction)
fieldsDataTypeEnum.FIELDYesField name(s) to extract
as_fieldsDataTypeEnum.FIELDNoOptional 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
Last update at: 2026/03/03 16:47:38
Last updated: 2026-03-03 16:48:19