Функция schema_of_variant
Область применения: Databricks SQL Databricks Runtime 15.3 и более поздних версий
Возвращает schema выражения VARIANT
в формате DDL.
Синтаксис
schema_of_variant ( variantExpr )
Аргументы
-
variantExpr
: ВыражениеVARIANT
.
Возвраты
STRING
, содержащий определение для schemavariantExpr
.
Типы в schema являются производными форматированными типами SQL.
Чтобы вывести агрегированные schema из коллекции VARIANT values
, используйте агрегатную функцию schema_of_variant_agg.
Примечания.
При определении schema для 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