TypeMAP

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Représente des valeurs qui composent un jeu de paires clé-valeur.

Syntaxe

MAP <keyType, valueType>
  • keyType : Tout type de données autre que MAP spécifiant les clés.
  • valueType : Tout type de données spécifiant les valeurs.

limites

Le type de mappage prend en charge les mappages d’une cardinalité supérieure ou égale à 0.

Les clés doivent être uniques et ne pas avoir la valeur NULL.

MAP n’est pas un type de données comparable.

Littéraux

Pour plus d’informations sur la façon de produire des valeurs de mappage de littéraux, consultez la fonction map.

Pour plus d’informations sur la façon de récupérer des valeurs à partir d’un mappage par clé, consultez [ ] operator.

Exemples

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