适用于:
Databricks SQL
Databricks Runtime
返回给定索引或键的数组元素或映射值。
语法
expr [ keyExpr ]
请注意,此处使用的方括号用作文字文本,并不表示可选语法。
参数
expr:一个 ARRAY 或 MAP 表达式。keyExpr:如果expr是一个 ARRAY,则为整数数值, 否则为与 MAP 的键类型匹配的表达式。
返回
结果类型是 ARRAY 的元素类型或 MAP 的值类型。
ARRAY 的第一个元素位于索引 0 处。
如果 keyExpr 不是 MAP expr 的有效密钥,Azure Databricks 会返回 null。
如果 keyExpr 超出 ARRAY 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