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.
tablo değerli işlevi
Şunun için geçerlidir: Databricks SQL
Databricks Runtime 15.3 ve üzeri
Dış semantiği kullanarak variantExpr
'ın içinden iç içe olmayan bir satır kümesi döndürür.
Söz dizimi
variant_explode_outer ( variantExpr )
Argümanlar
-
variantExpr
:VARIANT
nesnesini veyaVARIANT
temsil eden birVARIANT ARRAY
ifadesi.
İadeler
VARIANT ARRAY
öğelerinden veya VARIANT
nesnesinin anahtarlarından ve değerlerinden oluşan bir satır kümesi.
variant_explode
tarafından üretilen sütunlar şunlardır:
pos INT
key STRING
-
value VARIANT
.
bir VARIANT
nesnesi patlarken çıkış key
ve value
sütunları nesnenin anahtarlarını ve değerlerini temsil eder.
bir VARIANT
dizisi patlarken, çıkış key
her zaman nulltır ve çıkış value
sütunu dizinin öğelerini temsil eder.
variantExpr
is NULL
ise, veya en az bir öğe içeren bir VARIANT ARRAY
veya en az bir alanı olan bir OBJECT
değilse, tek bir NULL
s satırı oluşturulur.
Bu durumda hiçbir satır döndürmemek için variant_explode işlevini kullanın.
Örnekler
-- Simple example
> SELECT *
FROM variant_explode_outer(parse_json('[1, "a", {"b": "hello"}]'));
pos key value
--- ---- -------------
0 NULL 1
1 NULL "a"
2 NULL {"b":"hello"}
> SELECT *
FROM variant_explode_outer(parse_json('{"foo":1,"bar":"hello"}'));
pos key value
--- ---- -------------
0 bar "hello"
1 foo 1
-- null input
> SELECT value FROM variant_explode_outer(null) AS t(pos, key, value);
null
-- Not an array or object input
> SELECT value FROM variant_explode_outer(parse_json('123')) AS t(pos, key, value);
null
-- Using lateral correlation
> SELECT t.value AS outer, u.value AS inner
FROM variant_explode_outer(parse_json('[[1, 2], [3, 4]]')) AS t,
LATERAL variant_explode(t.value) AS u;
outer inner
----- -----
[1,2] 1
[1,2] 2
[3,4] 3
[3,4] 4