Teilen über


MAP -Typ

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Stellt Werte dar, die aus einer Menge von Schlüssel-Wert-Paaren bestehen.

Syntax

MAP <keyType, valueType>
  • keyType: Ein anderer Datentyp als MAP, der die Schlüssel an gibt.
  • valueType: Alle Datentypen, die die Werte angeben.

Grenzwerte

Der map-Typ unterstützt Zuordnungen beliebiger Kardinalität, die größer oder gleich 0 sind.

Die Schlüssel müssen eindeutig sein und dürfen nicht NULL sein.

MAP ist kein vergleichbarer Datentyp.

Literale

Ausführliche Informationen zum Erzeugen von Literalzuordnungswerten finden Sie in der map Funktion.

Weitere Informationen zum Abrufen von Werten aus einer Zuordnung nach Schlüssel finden Sie unter [ ]-Operator.

Beispiele

> SELECT map('red', 1, 'green', 2);
  {red->1, green->2}

> SELECT typeof(CAST(NULL AS MAP<TIMESTAMP, INT>));
  MAP<TIMESTAMP, INT>

> SELECT map(array(1, 2), map('green', 5));
  {[1, 2]->{green->5}}

> SELECT CAST(map(struct('Hello', 'World'), 'Greeting') AS MAP<STRUCT<w1:string, w2:string>, string>);
  {{Hello, World}->Greeting}

> SELECT m['red'] FROM VALUES(map('red', 1, 'green', 2)) AS T(m);
  1

> SELECT map('red', 1) = map('red', 1);
  Error: EqualTo does not support ordering on type map<string,int>