Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Tipo
Aplica-se a:
Databricks SQL
Databricks Runtime 15.3 e versões posteriores
Representa dados semiestruturados.
Observação
As tabelas Iceberg v2 não suportam VARIANT colunas. Apache Iceberg v3 suporta VARIANT colunas. Consulte Usar recursos do Apache Iceberg v3.
Sintaxe
VARIANT
Limites
O tipo suporta o armazenamento de dados OBJECTsemi-estruturados , ARRAY, 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 a criação de um valor VARIANT.
Você também pode usar a CAST função para converter um literal de algum tipo para VARIANT.
Notas
- Para extrair um valor de um
VARIANT, pode usar-
variant_getfunção usando uma expressão de caminho JSON para navegar num tipo complexo. -
:(sinal de dois pontos) operador para analisar oVARIANTusando uma expressão de caminho JSON. -
try_variant_getfunção usando um caminho JSON para navegação em um tipo complexo tolerante a erros. -
cast::ou operador (sinal de dois pontos) para converter oVARIANTpara um tipo específico. -
try_castfunção para converter oVARIANTpara um tipo específico com tolerância a erros.
-
- Para inspecionar o tipo de um
VARIANTvalor, use o botão-
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" }