Freigeben über


[ ]-Operator (eckige Klammern)

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt ein Arrayelement oder einen Zuordnungswert zurück, wenn ein Index oder Schlüssel angegeben wird

Syntax

expr [ keyExpr ]

Beachten Sie, dass die Verwendung von Klammern hier als Literaltext erfolgt und keine optionale Syntax angibt.

Argumente

  • expr: Ein ARRAY- oder MAP-Ausdruck.
  • keyExpr: Wenn expr ein ARRAY ist, ein integraler numerischer Wert. Andernfalls ein Ausdruck, der dem Typ des Schlüssels des MAP-Elements entspricht.

Gibt zurück

Der Ergebnistyp ist der Elementtyp des ARRAY oder der Werttyp der MAP.

Das erste Element eines ARRAY befindet sich am Index 0 (null).

Wenn der keyExpr kein gültiger Schlüssel für die MAP-expr Azure Databricks null zurückgibt.

Wenn die keyExpr für das ARRAY-expr nicht gebunden ist, löst Azure Databricks einen fehler INVALID_ARRAY_INDEX aus.

Hinweis

In Databricks Runtime gibt der Operator anstelle eines Fehlers vom Typ „außerhalb des gültigen Bereichs“ zurück, wenn false auf NULL festgelegt ist.

Häufige Fehlerbedingungen

Beispiele

> 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