Tipo deMAP

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Representa valores que constan de un conjunto de pares clave-valor.

Sintaxis

MAP <keyType, valueType>
  • keyType: Cualquier tipo de datos distinto de MAP que especifique las claves.
  • valueType: Cualquier tipo de datos que especifique los valores.

Límites

El tipo MAP admite asignaciones de cualquier cardinalidad mayor o igual que 0.

Las claves deben ser únicas y no ser NULL.

MAP no es un tipo de datos comparable.

Literales

Consulte Función map para obtener más información sobre cómo generar valores de asignaciones literales.

Consulte el operador [ ] para obtener más información sobre cómo recuperar valores de una asignación por clave.

Ejemplos

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