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

Unter map-Funktion finden Sie Details zum Erstellen von Literalmap-Werten.

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>