(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;