Поделиться через


Функция schema_of_variant

Область применения: флажок Databricks SQL флажок Databricks Runtime 15.3 и более поздних версий

Возвращает схему VARIANT выражения в формате DDL.

Синтаксис

schema_of_variant ( variantExpr )

Аргументы

  • variantExpr: Выражение VARIANT.

Возвраты

Содержит STRING определение variantExprсхемы объекта . Типы в схеме являются производными типами 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