(greenplum)自定义函数,从数组字段中删除某个元素(亲测)

参数解释:

taskidArray:你想要从中删除元素的数组字段

oneTaskid:你想要删除的那个元素
CREATE OR REPLACE  function my_array_remove(taskidArray text[],oneTaskid text) returns text[] as 
$BODY$
declare x text;
declare new_array text[];
begin
	if taskidArray is null then
            return null;
   end if;
	FOR x in array_lower(taskidArray, 1) .. array_upper(taskidArray, 1)
   loop
        if taskidArray[x]<>oneTaskid then
              new_array=taskidArray[x]||new_array;
        end if ;
   end loop ;
   return new_array ;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100; 

(greenplum)自定义函数,从数组字段中删除某个元素(亲测)