Dela via


Typ: MAP

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

Representerar värden som består av en uppsättning nyckel/värde-par.

Syntax

MAP <keyType, valueType>
  • keyType: Alla andra datatyper än MAP som anger nycklarna.
  • valueType: Alla datatyper som anger värdena.

Gränser

Karttypen stöder kartor av kardinalitet som är större eller lika med 0.

Nycklarna måste vara unika och inte vara NULL.

MAP är inte en jämförbar datatyp.

Literaler

Mer information om hur du skapar literala kartvärden finns i kartfunktionen .

Mer information om hur du hämtar värden från en karta efter nyckel finns i operatorn [ ] .

Exempel

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