適用対象:
Databricks SQL
Databricks Runtime
インデックスまたはキーが指定された配列要素またはマップ値を返します。
構文
expr [ keyExpr ]
ここでの角かっこの使用はリテラル テキストであり、オプションの構文を示すものではないことにご注意ください。
引数
-
expr: 配列またはマップ式。 -
keyExpr:exprが配列で整数型の場合。 それ以外の場合は、マップのキーの型と一致する式。
戻り値
結果の型は、配列の要素型またはマップの値型です。
配列の最初の要素はインデックス 0 にあります。
keyExpr が MAP expr Azure Databricks の有効なキーでない場合、null が返されます。
array keyExpr に対して expr が範囲外の場合、Azure Databricksは INVALID_ARRAY_INDEX エラーを発生させます。
注意
Databricks Runtime で spark.sql.ansi.enabled が false の場合、この演算子は、非バインドエラーではなく、NULL を返します。
一般的なエラー状態
例
> 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