Tipo diOBJECT

Si applica a: segno di spunta sì Databricks Runtime 15.3 e versioni successive

Rappresenta i valori in un valore VARIANT con la struttura descritta da un set di campi.

Fare riferimento a STRUCT per l'archiviazione e l'elaborazione di tipi strutturati descritti da una sequenza di campi.

Importante

Impossibile archiviare l'oggetto OBJECT in una colonna di tabella. Viene esposto solo quando si chiama schema_of_variant o schema_of_variant_agg. Per usare un OBJECT tipo, è necessario eseguirne il cast in uno STRUCT o MAP.

Sintassi

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: identificatore che denomina il campo. I nomi devono essere univoci.
  • fieldType: qualsiasi tipo di dati.

Limiti

Il tipo supporta un numero qualsiasi di campi maggiore o uguale a 0.

Valori letterali

I valori di OBJECT non possono essere creati all'esterno di un valore VARIANT. Sono il risultato dell'analisi di una stringa JSON in un VARIANT usando la funzione parse_json().

Note

Esempi

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