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