Delen via


MAP type

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Vertegenwoordigt waarden die bestaan uit een set sleutel-waardeparen.

Syntaxis

MAP <keyType, valueType>
  • keyType: een ander gegevenstype dan MAP dat de sleutels opgeeft.
  • valueType: elk gegevenstype dat de waarden opgeeft.

Limieten

Het kaarttype ondersteunt kaarten van elke kardinaliteit die groter of gelijk is aan 0.

De sleutels moeten uniek zijn en niet NULL zijn.

MAP is geen vergelijkbaar gegevenstype.

Letterlijke waarden

Zie de kaartfunctie voor meer informatie over het produceren van letterlijke kaartwaarden.

Zie de operator [ ] voor meer informatie over het ophalen van waarden uit een kaart per sleutel.

Voorbeelden

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