Función variant_get
Se aplica a: Databricks SQL Databricks Runtime 15.3 y versiones posteriores
Extrae un valor de tipo de variantExpr
, especificado por path
.
Sintaxis
variant_get ( variantExpr, path, type )
Argumentos
variantExpr
: expresiónVARIANT
.path
: un literalSTRING
de cadena con una expresión de ruta de acceso JSON correcta.type
: un literalSTRING
que define el tipo.
Devoluciones
Valor de tipo type
.
Si no se encuentra el objeto, se devuelve el valor NULL
.
Si se encuentra el objeto pero no se puede convertir al tipo deseado, Azure Databricks genera INVALID_VARIANT_CAST
.
Para devolver NULL
en lugar de un error, use la función try_variant_get.
Ejemplos
-- Simple example
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.data[1].a', 'string')
hello
-- missing path
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.missing', 'int')
null
-- Invalid cast
> SELECT variant_get(parse_json('{"key": 123, "data": [4, {"a": "hello"}, "str"]}'), '$.key', 'array<int>')
Error: INVALID_VARIANT_CAST.