Compartir a través de


Tipo deOBJECT

Se aplica a: casilla marcada como Sí Databricks Runtime 15.3 y versiones posteriores

Representa los valores en una VARIANT con la estructura descrita por un conjunto de campos.

Consulte STRUCT para almacenar y procesar tipos estructurados descritos por una secuencia de campos.

Importante

El OBJECT no se puede almacenar en una columna de tabla. Solo se expone al llamar a schema_of_variant o schema_of_variant_agg. Para usar un tipo de OBJECT, debe convertirlo en un STRUCT o MAP.

Sintaxis

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: identificador que designa el campo. Los nombres deben ser únicos.
  • fieldType: cualquier tipo de datos.

Límites

El tipo admite cualquier número de campos mayor o igual que 0.

Literales

Los valores de OBJECT no se pueden crear fuera de un VARIANT. Son el resultado de analizar una cadena JSON en un VARIANT mediante la función parse_json().

Notas

Ejemplos

> SELECT schema_of_variant(parse_json('{"key": 123, "data": 5.1 }'));
  OBJECT<data: DECIMAL(2,1), key: BIGINT>

-- Casting from a an OBJECT to a STRUCT is by name, because OBJECT fields are not ordered.
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<data: DECIMAL(2,1), key: BIGINT>);
  {"data":5.1,"key":123}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<key: BIGINT, data: DECIMAL(2,1)>);
  {"key":123, "data":5.1}

> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS MAP<STRING, DECIMAL(20, 1)>);
  {"data":"5.1","key":"123.0"}