Partilhar via


Tipo VARIANT

Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime 15.3 e versões posteriores

Importante

Este recurso está no Public Preview .

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

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" }