ELEMENT_AT 函数

功能描述

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

语法

从数组中提取元素

ELEMENT_AT(arrayExpr, index)

从映射中提取值

ELEMENT_AT(mapExpr, key)

参数

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

返回值

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

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