全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:ARRAY_REMOVE

更新时间:Jun 15, 2023

在ARRAY数组a中删除与element相等的元素。

命令格式

array<T> array_remove(array<T> <a>, T <element>)

参数说明

  • a:必填。ARRAY数组。array<T>中的T指代ARRAY数组元素的数据类型。支持的数据类型如下:

    • TINYINT、SMALLINT、INT、BIGINT

    • FLOAT、DOUBLE

    • BOOLEAN

    • DECIMAL、DECIMALVAL

    • DATE、DATETIME、TIMESTAMP、IntervalDayTime、IntervalYearMonth

    • STRING、BINARY、VARCHAR、CHAR

    • ARRAY、STRUCT、MAP

  • element:必填。待删除的元素,数据类型必须与a中元素的数据类型相同。

返回值说明

返回ARRAY类型。返回规则如下:

  • 如果ARRAY数组a中存在元素为NULL时,NULL值不参与运算。

  • 如果ARRAY数组aelement为NULL,返回NULL。

  • ARRAY数组a中不存在element时返回原ARRAY数组a

使用示例

  • 示例1:删除ARRAY数组array(3, 2, 1)中等于1的元素。命令示例如下。

    --返回[3,2]。
    select array_remove(array(3, 2, 1), 1);
  • 示例2:element为NULL。命令示例如下。

    --返回NULL。
    select array_remove(array(3, 1, null), null);
  • 示例3:删除ARRAY数组array(3, 1, null)中等于2的元素。命令示例如下。

    --返回[3,1,null]。
    select array_remove(array(3, 1, null), 2);

相关函数

ARRAY_REMOVE函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数