ELEMENT_AT 函数

功能描述

ELEMENT_AT 函数用于从数组或映射(Map)中提取指定位置或键的元素。它支持两种用法:从数组中按索引提取元素,以及从映射中按键提取值。

语法

从数组中提取元素

ELEMENT_AT(arrayExpr, index)

从映射中提取值

ELEMENT_AT(mapExpr, key)

参数

  • ``:一个数组表达式,表示需要从中提取元素的数组。
  • ``:一个整数表达式,表示数组中元素的索引位置。索引从 1 开始,支持负数(从数组末尾向前计数)。
  • ``:一个映射表达式,表示需要从中提取值的映射。
  • ``:一个与映射键类型匹配的表达式,用于指定需要提取的键。

返回值

  • 从数组中提取元素
    • 返回值类型与数组元素的类型一致。
    • 如果 abs(index) 超出数组长度范围,将引发错误(除非使用 TRY_ELEMENT_AT 函数)。
    • 如果 index 为负数,则从数组末尾向前计数。
  • 从映射中提取值
    • 如果键存在于映射中,返回对应的值;否则返回 NULL

示例

示例 1:从数组中提取元素

SELECT ELEMENT_AT(ARRAY[1, 2, 3], 2);
+--------------------------+
| ELEMENT_AT([1, 2, 3], 2) |
+--------------------------+
| 2                        |
+--------------------------+

示例 2:使用负索引从数组中提取元素

SELECT ELEMENT_AT(ARRAY[1, 2, 3], -1);
+---------------------------+
| ELEMENT_AT([1, 2, 3], -1) |
+---------------------------+
| 3                         |
+---------------------------+

联系我们
预约咨询
微信咨询
电话咨询