VARIANT 类型

适用于:勾选是 Databricks SQL 勾选是 Databricks Runtime 15.3 及更高版本

重要

此功能目前以公共预览版提供。

表示半结构化数据。

注释

Iceberg v2 表不支持 VARIANT 列。 Apache Iceberg v3 支持 VARIANT 列。 请参阅 使用 Apache Iceberg v3 功能

语法

VARIANT

限制

该类型支持存储半结构化数据和OBJECTARRAY标量类型。 存储STRUCTMAP元素,并使用to_variant_object函数。 MAP 键的类型必须为 STRING

文本

有关创建parse_json值的详细信息,请参阅函数。 还可以使用 CAST 函数将某种类型的文本转换为 VARIANT

备注

示例

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