Função variant_get
Aplica-se a: Databricks SQL Databricks Runtime 15.3 e posterior
Extrai um valor do tipo de variantExpr
, especificado por path
.
Sintaxe
variant_get ( variantExpr, path, type )
Argumentos
variantExpr
: uma expressãoVARIANT
.path
: um literal deSTRING
com uma expressão de caminho JSON bem formada.type
: um literal deSTRING
que define o tipo.
Devoluções
Um valor do tipo type
.
Se o objeto não puder ser encontrado, será retornado um valor NULL
.
Se o objeto for encontrado, mas não puder ser convertido no tipo desejado, o Azure Databricks gerará INVALID_VARIANT_CAST
.
Para retornar NULL
em vez de um erro, use a função try_variant_get.
Exemplos
-- 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.