全部產品
Search
文件中心

MaxCompute:ARRAY_REMOVE

更新時間:Jun 19, 2024

在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資料)的處理函數請參見複雜類型函數