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