VARIANT
类型
适用于: Databricks Runtime 15.3 及更高版本
表示半结构化数据。
语法
VARIANT
限制
该类型支持存储任何半结构化数据,包括 STRUCT
、ARRAY
、MAP
和标量类型。
VARIANT
只能存储具有 STRING
类型的键的 MAP
类型。
文本
有关创建 VARIANT
值的详细信息,请参阅 parse_json 函数。
还可以使用 CAST
函数将某种类型的文本转换为 VARIANT
。
备注
- 若要从
VARIANT
提取值,可以使用- variant_get 函数使用 JSON 路径表达式导航到复杂类型。
- :(冒号)运算符使用 JSON 路径表达式分析
VARIANT
。 - try_variant_get 函数使用 JSON 路径导航到具有错误容忍的复杂类型。
- 强制转换函数或 ::(双冒号)运算符将
VARIANT
强制转换为特定类型。 - try_cast 函数将
VARIANT
强制转换为具有错误容忍的特定类型。
- 若要检查
VARIANT
值的类型,请使用- 单个值的 schema_of_variant 函数。
- 一组值的 schema_of_variant_agg 聚合函数。
示例
> 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