Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
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
- Bir
OBJECTayıklamak için şunları yapabilirsiniz:-
variant_gettürüne yönlendirmek içinOBJECTkullanan işlev. -
(iki nokta üst üste işareti) işleci
:kullanarak bir JSON yol ifadesi ileOBJECTöğesini ayrıştırmak. -
try_variant_gethata toleransı olan birOBJECTtüründe gezinmek için JSON yolunu kullanan işlev. -
castfunction veya::(iki nokta üst üste işareti) işlecini kullanarakOBJECTveya MAP'e dönüştürün. -
try_castfonksiyonu veya?::soru işareti çift nokta üst üste işareti işleci kullanılarakOBJECTbir STRUCT veya MAP türüne atamak.
-
Ö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"}