Aracılığıyla paylaş


OBJECT tür

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks Runtime 15.3 ve üzeri

BIR DEĞIŞKENdeki değerleri, bir alan kümesi tarafından açıklanan yapıyla temsil eder.

Bir alan dizisi tarafından açıklanan yapılandırılmış türleri depolamak ve işlemek için STRUCT'ye bakın.

Önemli

bir OBJECT tablo sütununda depolanamaz. Yalnızca schema_of_variant veya schema_of_variant_agg çağrılırken kullanıma sunulur. Bir OBJECT türü kullanmak için bir STRUCT veya MAP'e atamanız gerekir.

Sözdizimi

OBJECT < [fieldName [:] fieldType [, ...] ] >
  • fieldName: Alanı adlandıran bir tanımlayıcı. Adlar benzersiz olmalıdır.
  • fieldType: Herhangi bir veri türü.

Sınırlar

Türü, 0'a eşit veya daha büyük herhangi bir sayıda alanı destekler.

Değişmez Değerler

değerleri OBJECT VARIANT dışında oluşturulamaz. Bunlar, parse_json() işlevini kullanarak bir JSON dizesini ayrıştırma VARIANT işleminin sonucu olarak elde edilir.

Notlar

Örnekler

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