Freigeben über


schema_of_variant-Funktion

Gilt für: Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 15.3 und höher

Gibt das Schema eines VARIANT-Ausdrucks im DDL-Format zurück

Syntax

schema_of_variant ( variantExpr )

Argumente

  • variantExpr: Ein VARIANT-Ausdruck.

Gibt zurück

Ein STRING-Typ mit einer Schemadefinition des variantExpr. Die Typen im Schema sind die abgeleiteten formatierten SQL-Typen.

Um das aggregierte Schema einer VARIANT values-Sammlung abzuleiten, verwenden Sie die schema_of_variant_agg-Aggregatfunktion.

Hinweise

Bei der Bestimmung des Schemas für einen ARRAY<elementType> wird elementType möglicherweise als VARIANT abgeleitet, wenn in den Daten in Konflikt stehende Typen enthalten sind.

Beispiele

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