Bagikan melalui


try_variant_get fungsi

Berlaku untuk:ditandai tanda centang ya Databricks SQL ditandai tanda centang ya Databricks Runtime 15.3 ke atas

Mengekstrak nilai jenis type dari variantExpr, yang ditentukan oleh path, atau NULL jika tidak dimungkinkan untuk mentransmisikan ke jenis target.

Sintaks

try_variant_get ( variantExpr, path, type )

Argumen

  • variantExpr: Sebuah VARIANT ekspresi.
  • path: Harfiah STRING dengan ekspresi jalur JSON yang terbentuk dengan baik.
  • type: Harfiah STRING yang menentukan jenisnya.

Mengembalikan

Nilai jenis type.

Jika objek tidak dapat ditemukan atau tidak dapat ditransmisikan ke type, NULL dikembalikan. Untuk memunculkan kesalahan saat pemeran gagal menggunakan variant_get.

Contoh

-- Simple example
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.data[1].a', 'string')
  hello

-- missing path
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.missing', 'int')
  null

-- Invalid cast
> SELECT try_variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.key', 'boolean')
  null

-- These are synonymous to:
> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':data[1].a ?::STRING;
 hello

> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':missing ?::STRING;
 null

> SELECT '{"key": 123, "data": [4, {"a": "hello"}, "str"]}':key ?::BOOLEAN;
 null