[ ] (zárójeljel) operátor

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Egy tömbelemet vagy leképezési értéket ad vissza egy index vagy kulcs alapján.

Syntax

expr [ keyExpr ]

Vegye figyelembe, hogy a zárójelek használata itt a literális szöveg, és nem jelzi az opcionális szintaxist.

Argumentumok

  • expr: TÖMB vagy MAP kifejezés.
  • keyExpr: Ha expr a TÖMB egy integrál numerikus. Ellenkező esetben a MAP kulcs típusának megfelelő kifejezés.

Válaszok

Az eredmény típusa a TÖMB elemtípusa vagy a MAP értéktípusa.

A TÖMB első eleme a 0 indexnél van.

Ha a keyExpr nem érvényes kulcs a MAP expr Azure Databricks null értéket ad vissza.

Ha a keyExpr nincs megkötve a TÖMB expr esetében, Azure Databricks INVALID_ARRAY_INDEX hibát jelez.

Feljegyzés

A Databricks Runtime-ban, ha a spark.sql.ansi.enabled az false, az operátor a korlátokon kívüli hiba helyett ad vissza NULL .

Gyakori hibafeltételek

Példák

> SELECT a[2] FROM VALUES(array(10, 20, 30)) AS T(a);
  30

> SELECT m[1] FROM VALUES(map(1, 'Hello', 2, 'World')) AS T(m);
  Hello

> SELECT array(1, 2, 3)[5];
  Error: INVALID_ARRAY_INDEX