[ ]
(方括号)运算符
适用于: 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