Hi, I have two arrays which I need to combine based on the individual values;
i could do a coalesce for each field but was wondering if there is an easier way
array_a{a, null,c, d,null,f,null} primary
array_b{null,2 ,null,4,5 ,6,null} secondary
result {a, 2, c, d,5, f,null)
Any advice would be appreciated
Are the inputs always of fixed dimensions eg. 1 by 7?
create or replace function tt( a1 int[], a2 int[]) returns int[] as $$ declare aret int[]; asize int; begin select array_length(a1,1) into asize; for i in 1..asize loop aret[i] = coalesce(a1[i], a2[i]); end loop; return aret; end;
$$ language plpgsql; select * from tt(array[3,null], array[null,4]); tt ------- {3,4} (1 row)