Dela via


Funktionen schema_of_variant

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 15.3 och senare

Returnerar schemat för ett VARIANT uttryck i DDL-format.

Syntax

schema_of_variant ( variantExpr )

Argument

  • variantExpr: Ett VARIANT uttryck.

Returer

En STRING som innehåller en schemadefinition av variantExpr. Typerna i schemat är de härledda formaterade SQL-typerna.

Om du vill härleda det aggregerade schemat för en samling med VARIANT valuesanvänder du funktionen schema_of_variant_agg aggregate.

Kommentar

När du fastställer schemat för en ARRAY<elementType>kan elementType det här härledas som VARIANT om det finns motstridiga typer i data.

Exempel

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