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
Penting
Fitur ini ada di Pratinjau Umum.
Mewakili data semi-terstruktur.
Nota
Tabel Iceberg v2 tidak mendukung VARIANT kolom. Apache Iceberg v3 mendukung VARIANT kolom. Lihat Menggunakan fitur Apache Iceberg v3.
Sintaks
VARIANT
Batas
Jenis ini mendukung penyimpanan data OBJECTsemi-terstruktur, , ARRAYdan jenis skalar.
Untuk menyimpan STRUCT dan MAP menggunakan fungsi to_variant_object .
MAP kunci harus berjenis STRING.
Nilai Literal
Lihat fungsi parse_json fungsi untuk detail tentang membuat nilai VARIANT.
Anda juga dapat menggunakan fungsi CAST untuk mengonversi literal dari beberapa jenis menjadi VARIANT.
Catatan
- Untuk mengekstrak nilai dari
VARIANT, Anda dapat menggunakan-
variant_getfungsi menggunakan ekspresi jalur JSON untuk menavigasi ke jenis kompleks. -
:operator (tanda titik dua) untuk menguraiVARIANTmenggunakan ekspresi jalur JSON. -
try_variant_getfungsi menggunakan jalur JSON untuk menavigasi ke jenis kompleks dengan toleransi kesalahan. -
castfungsi atau operator::(tanda titik dua) untuk mengubah tipeVARIANTke jenis tertentu. -
try_castfungsi untuk mengubahVARIANTke jenis tertentu dengan toleransi kesalahan.
-
- Untuk memeriksa jenis dari suatu
VARIANTnilai, gunakan-
schema_of_variantfungsi untuk nilai individual. -
schema_of_variant_aggfungsi agregat untuk kumpulan nilai.
-
Contoh
> SELECT parse_json('{"key": 123, "data": [4, 5, "str"]}');
{"data":[4,5,"str"],"key":123}
> SELECT parse_json(null);
null
> SELECT parse_json('123');
123
> SELECT CAST(123.456 AS VARIANT);
123.456
> SELECT to_variant_object(map('key', 'val'));
{ "key": "val" }
> SELECT to_variant_object(struct('field', 'val'));
{ "field": "val" }