schema_of_variant 函数

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

返回 DDL 格式的 VARIANT 表达式的架构。

语法

schema_of_variant ( variantExpr )

参数

  • variantExpr:一个 VARIANT 表达式。

返回

用于保存 variantExpr 的架构定义的 STRING。 架构中的类型是派生的格式化 SQL 类型。

若要派生 VARIANT values 集合的聚合架构,请使用 schema_of_variant_agg 聚合函数。

备注

在确定 ARRAY<elementType> 的架构时,如果在数据中发现存在冲突的类型,则 elementType 可能被推理为 VARIANT

示例

-- Simple example
> SELECT schema_of_variant(parse_json('{"key": 123, "data": [4, 5]}'))
  OBJECT<data: ARRAY<BIGINT>, key: BIGINT>

-- Conflicting element types in array
> SELECT schema_of_variant(parse_json('{"data": [{"a":"a"}, 5]}'))
  OBJECT<data: ARRAY<VARIANT>>

-- A typed literal
> SELECT schema_of_variant(123.4::VARIANT);
  DECIMAL(4,1)

-- Contrasting schema_of_variant() with typeof()
> SELECT typeof(123.4::VARIANT);
  VARIANT