TRY_ELEMENT_AT

功能概述

从 ARRAY 或 MAP 中按索引/键取值,越界或键不存在时返回 NULL 而不报错。与

ELEMENT_AT
ELEMENT_AT
的区别:
ELEMENT_AT
ELEMENT_AT
越界时报错,
TRY_ELEMENT_AT
TRY_ELEMENT_AT
返回 NULL。

语法

TRY_ELEMENT_AT(<array>, <index>) TRY_ELEMENT_AT(<map>, <key>)

参数说明

  • <array>
    <array>
    :ARRAY 类型,使用 1 开始的正整数索引;
    -1
    -1
    表示最后一个元素。
  • <map>
    <map>
    :MAP 类型,使用键访问对应值。
  • <index>
    <index>
    :BIGINT 类型,1-based 索引,支持负数(
    -1
    -1
    为最后一个元素)。
  • <key>
    <key>
    :与 MAP 键类型一致。

使用示例

-- ARRAY 索引(1-based) SELECT try_element_at(array(10,20,30), 1); -- 10 SELECT try_element_at(array(10,20,30), 3); -- 30 -- 负数索引:-1 为最后一个元素 SELECT try_element_at(array(10,20,30), -1); -- 30 -- 越界返回 NULL(不报错) SELECT try_element_at(array(10,20,30), 10); -- NULL -- MAP 键不存在返回 NULL SELECT try_element_at(map('a',1,'b',2), 'c'); -- NULL

相关文档

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