pub fn cast(
    array: &dyn Array,
    to_type: &DataType,
    options: CastOptions
) -> Result<Box<dyn Array>>
Available on crate feature compute_cast only.
Expand description

Cast array to the provided data type and return a new Array with type to_type, if possible.

Behavior:

  • PrimitiveArray to PrimitiveArray: overflowing cast will be None
  • Boolean to Utf8: true => ‘1’, false => 0
  • Utf8 to numeric: strings that can’t be parsed to numbers return null, float strings in integer casts return null
  • Numeric to boolean: 0 returns false, any other value returns true
  • List to List: the underlying data type is cast
  • PrimitiveArray to List: a list array with 1 value per slot is created
  • Date32 and Date64: precision lost when going to higher interval
  • Time32 and Time64: precision lost when going to higher interval
  • Timestamp and Date{32|64}: precision lost when going to higher interval
  • Temporal to/from backing primitive: zero-copy with data type change Unsupported Casts
  • To or from StructArray
  • List to primitive
  • Utf8 to boolean
  • Interval and duration