Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tipo de
Aplica-se a:
Databricks SQL
Databricks Runtime 15.3 e versões superiores
Importante
Esse recurso está em uma versão prévia.
Representa dados semiestruturados.
Observação
Tabelas Iceberg v2 não dão suporte a colunas VARIANT. O Apache Iceberg v3 oferece suporte a VARIANT colunas. Consulte Usar recursos do Apache Iceberg v3.
Sintaxe
VARIANT
limites
O tipo dá suporte ao armazenamento de dados OBJECTARRAYsemiestruturados e tipos escalares.
Para armazenar STRUCT e MAP usar a função to_variant_object .
MAP as chaves devem ser do tipo STRING.
Literais
Consulte a função parse_json para obter detalhes sobre como criar um valor VARIANT.
Você também pode usar a função CAST para converter um literal de algum tipo em VARIANT.
Observações
- Para extrair um valor de um
VARIANT, você pode usar a-
variant_getfunção usando uma expressão de caminho JSON para navegar em um tipo complexo. -
:operador (dois pontos) para analisar oVARIANTusando uma expressão de caminho JSON. -
try_variant_getfunção usando um caminho JSON para navegar em um tipo complexo com tolerância a erros. -
castfunção ou operador::(sinal de dois pontos) para converter oVARIANTem um tipo específico. -
try_castfunção para fazer oVARIANTcorresponder a um tipo específico com tolerância a erros.
-
- Para inspecionar o tipo de um valor
VARIANT, use a-
schema_of_variantfunção para um valor individual. -
schema_of_variant_aggfunção de agregação para uma coleção de valores.
-
Exemplos
> 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" }