Partager via


Fonction schema_of_variant

S’applique à : coche pour oui Databricks SQL coche marquée oui Databricks Runtime 15.3 et versions ultérieures

Retourne le schéma d’une expression VARIANT au format DDL.

Syntaxe

schema_of_variant ( variantExpr )

Arguments

  • variantExpr : expression VARIANT.

Retours

Une STRING tenant une définition de schéma de variantExpr. Les types dans le schéma sont les types SQL mis en forme dérivés.

Pour dériver le schéma agrégé d’une collection de VARIANT values, utilisez la fonction d’agrégation schema_of_variant_agg.

Notes

Lorsque vous déterminez le schéma d’un ARRAY<elementType>, elementType peut être déduit comme VARIANT s’il existe des types en conflit trouvés dans les données.

Exemples

-- 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