适用于: Databricks SQL
Databricks Runtime 15.3 及更高版本
重要
此功能目前以公共预览版提供。
表示半结构化数据。
VARIANT
该类型支持存储任何半结构化数据,包括 STRUCT
、ARRAY
、MAP
和标量类型。
VARIANT
只能存储具有 MAP
类型的键的 STRING
类型。
有关创建parse_json
值的详细信息,请参阅函数。
还可以使用 CAST
函数将某种类型的文本转换为 VARIANT
。
- 若要从
VARIANT
提取值,可以使用-
variant_get
函数 使用 JSON 路径表达式 遍历复杂类型。 -
:
(冒号)运算符用于通过 JSON 路径表达式解析VARIANT
。 -
try_variant_get
函数,用于使用 JSON 路径导航到复杂类型中,且具备容错机制。 -
cast
函数 或::
(两个冒号)运算符,可将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