Compartilhar via


TipoOBJECT

Aplica-se a: marca de seleção positiva Databricks Runtime 15.3 e posterior

Representa valores em um VARIANT com a estrutura descrita por uma sequência de campos.

Consulte STRUCT para armazenar e processar tipos estruturados descritos por uma sequência de campos.

Importante

O OBJECT não pode ser armazenado em uma coluna de tabela. Ele só será exposto ao chamar schema_of_variant ou schema_of_variant_agg. Para usar um tipo OBJECT, você deve convertê-lo em um STRUCT ou MAP.

Sintaxe

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: um identificador que nomeia o campo. Os nomes devem ser únicos.
  • fieldType: qualquer tipo de dados.

Limites

O tipo dá suporte a qualquer número de campos maior ou igual a 0.

Literais

Valores de OBJECT não podem ser criados fora de um VARIANT. Eles são o resultado da análise de uma cadeia de caracteres JSON em um VARIANT usando a função parse_json().

Observações

Exemplos

> 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"}