Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 15.3 ke atas
Mengembalikan sekumpulan baris dengan memanifestasikan variantExpr menggunakan semantik eksternal.
Sintaks
variant_explode_outer ( variantExpr )
Argumen
-
variantExpr: EkspresiVARIANT, mewakiliVARIANTobjek atauVARIANT ARRAY.
Pengembalian
Sekumpulan baris yang terdiri dari elemen VARIANT ARRAYatau kunci dan nilai objek VARIANT.
Kolom yang dihasilkan oleh variant_explode adalah:
pos INTkey STRING-
value VARIANT.
Saat meledakkan objek VARIANT, kolom output key dan value mewakili kunci dan nilai objek.
Saat meledakkan array VARIANT, output key selalu null, dan kolom value output mewakili elemen array.
Jika variantExpr adalah NULL, atau bukan VARIANT ARRAY dengan setidaknya satu elemen atau OBJECT dengan setidaknya satu bidang, satu baris NULLdiproduksi.
Untuk tidak mengembalikan baris dalam hal ini, gunakan fungsi variant_explode .
Contoh
-- 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