Aracılığıyla paylaş


OBJECT tür

Şunun için geçerlidir:onay işareti evet 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

OBJECT tablo sütununda depolanamaz. Yalnızca schema_of_variant veya schema_of_variant_agg çağrılırken ortaya çıkar. 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 OBJECTVARIANT dışında oluşturulamaz. Bunlar, VARIANT işlevini kullanarak JSON dizesini ayrıştırma 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"}