Aracılığıyla paylaş


variant_explode tablo değerli fonksiyon

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 15.3 ve üzeri

inputiç içe yerleştirerek bir satır kümesi döndürür.

Databricks SQL ve Databricks Runtime 16.1 ve üzerinde bu işlev, olarakadlı parametre çağırmayı destekler.

Söz dizimi

variant_explode ( input )

Bağımsız değişkenler

  • variantExpr: Veya VARIANT nesnesini VARIANTtemsil eden bir VARIANT ARRAY ifade.

Döndürülenler

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 patladığında, çıkış key her zaman NULLolur ve çıkış value sütunu dizinin öğelerini temsil eder.

inputise NULL veya bir VARIANT ARRAY veya VARIANT nesnesi değilse, hiçbir satır üretilmemiştir. Bu durumda tek bir NULL değeri satırı oluşturmak için variant_explode_outer işlevini kullanın.

Örnekler

-- Simple example
> SELECT *
   FROM variant_explode(parse_json('[1, "a", {"b": "hello"}]'));
  pos  key  value
  ---  ---- -------------
    0  NULL 1
    1  NULL "a"
    2  NULL {"b":"hello"}

> SELECT *
    FROM variant_explode(parse_json('{"foo":1,"bar":"hello"}'));
  pos  key  value
  ---  ---- -------------
    0  bar  "hello"
    1  foo  1

-- Using lateral correlation
> SELECT t.value AS outer, u.value AS inner
    FROM variant_explode(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